栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SSM框架-Mybatis框架总结

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SSM框架-Mybatis框架总结

目录

1、ORM思想

2、 Mybaits框架介绍

3 Mybaits使用步骤

3.1 导入jar包

3.2 编辑核心配置文件(mybatis-config.xml)

3.3 创建接口/xml映射文件

3.4、 入门案例步骤

4 、简化mybatis操作

5 、Mybatis的参数封装

6、 #{ }与 ${ }的用法

7、 mybatis转义字符

8 、Mybatis集合写法

9 、mybatis特殊查询(模糊查询)

10、Mybatis优化

11、动态Sql

12、 resultMap用法

13 、关联关系

13.1、 一对一

13.1、 一对多

14、mybatis缓存

14.1、一级缓存

14.2、二级缓存


1、ORM思想

        概括: 利用对象的方式封装数据库
        核心规则:
                对象与表一一映射.
                对象的属性与表中的字段一一映射.

2、 Mybaits框架介绍

小结: Mybatis是一个优秀的持久层框架,基于ORM设计思想,实现了以对象的方式操作数据库.

3 Mybaits使用步骤

3.1 导入jar包
  1. 课堂使用的是springboot整合mybatis的版本.但是使用其中的依赖包 3.5.7的版本.
  2. mysql的驱动版本 mysql:mysql-connector-java:8.0.22
  3. 驱动的配置: com.mysql.cj.jdbc.Driver
  4.  高版本应该使用高版本数据库 

3.2 编辑核心配置文件(applocation.yml)

        3.2.1、数据库环境的配置

# 应用服务 WEB 访问端口
server:
  port: 8081

#Spring整合数据源  2.mybatis
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/jt?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
    username: root
    password: 970824

#SpringBoot整合mybatis
mybatis:
  #指定别名包
  type-aliases-package: com.jt.pojo
  #加载指定的xml映射文件
  mapper-locations: classpath:/mybatis/mappers/*.xml
  #开启驼峰映射
  configuration:
    map-underscore-to-camel-case: true

        3.2.2、Mapper接口与xml映射文件的绑定关系.






3.3 创建接口/xml映射文件

applocation.yml

 

3.4、 入门案例步骤

  1. 指定mybatis-config.xml的路径
  2. 读取指定的核心配置文件.
  3. 通过SelSessionFactoryBuilder.buid方法创建SqlSessionFactory.
  4. 获取SqlSession
  5. 获取Mapper的接口
  6. 从mapper接口文件中获取业务数据.
  7. 调用xml文件的Sql语句实现数据获取.
  8. mybatis自动封装为对象返回 交给用户处理.

4 、简化mybatis操作

 注解: @BeforeEach 在执行@Test注解之前执行.(可以理解为:保证使公共部分先执行)

5 、Mybatis的参数封装

        1. 封装为实体对象   user对象
        2. 更为常用的方式   Map集合
        3. 如果传递的数据有多个,则可以使用注解@Param("sex") String sex 封装为Map.

6、 #{ }与 ${ }的用法
  • 使用#{} 获取数据时,默认有预编译的效果.防止sql注入攻击.
  • mybatis使用#{}获取数据时,默认为数据添加一对""号.
  • 当以字段名称为参数时,一般使用${},但是这样的sql慎用. 可能出现sql注入攻击问题

一般情况尽量使用#{  },因为${  }会有sql注入攻击

7、 mybatis转义字符

     xml文件中的转义字符.
            >  > 大于
            <  < 小于
            &  & 号
        说明:如果sql中有大量的转义字符 建议使用转义标签体
        语法:

8 、Mybatis集合写法
  • array(数组)
  • list
  • map

 

9 、mybatis特殊查询(模糊查询)

模糊查询: “%” #{属性}"%" 或者 xxxx.setName("%精%")

10、Mybatis优化

        1.指定具体的类型的别名
        2.别名包
        3.别名注解 一般不常用
        4.Sql标签 将通用的Sql进行抽取. 通过ID进行引用
        5.mybatis的驼峰映射规则 可以自动将下划线去除,映射到属性中.

11、动态Sql
  1. if-where where去除多余的and / or
  2. set标签 去除多余的,号
  3. choose when otherwise 用法上和java中的switch类型.

12、 resultMap用法

当结果集(相当于数据库的字段名)中的字段与属性名不一致时使用. 可以使用驼峰映射规则优化.

13 、关联关系

13.1、 一对一

        逻辑: 一个员工对应一个部门
        表示: 在对象中封装其他对象, 一对一 :封装单个对象 ,一对多:封装List集合

一对一映射标签:

13.1、 一对多

 

14、mybatis缓存

14.1、一级缓存

         sqlSession级别的。默认开启SqlSession内共享数据,同一个sqlSession有效

14.2、二级缓存
    SqlSessionFactory级别的。mybatis中默认也是开启的,但是需要手动标识一下,在同一个SqlSessionFactory内部有效,sqlSession查询数据之后,会将缓存信息保存到一级缓存中,但是不会立即将缓存交给二级缓存保管,如果需要使用二级缓存,则必须将sqlSession义务逻辑执行成功,并且关闭之后,才执行。(需要在接口实现文件里面添加如下标签)

 完..........

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/273628.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号