1 MyBatisPlus
增强、不改变MyBatis功能。
1.1 特性
无侵入:引入不会对现有工程产生影响。
损耗小:启动自动注入基本CRUD,性能基本无损耗,直接面向对象操作。
1.2 ORM思想
对象关系映射, 用于实现面向对象编程语言里不同类型系统的数据之间的转换。
ORM方式:以对象的方式操作数据库,可以实现结果集与对象的自动映射,不需要自己手写。
1.3 MyBatisPlus工作原理说明
ORM核心思想:
1.对象与哪张表要完成映射。—自定义注解进行标识
2.对象的属性与表中的字段如何一一对应。—起名时写成一样的,如果不一样,可利用特定注解指定。
3.工具方法如何简化。—MyBatisPlus动态生成CRUD操作的接口,只要其他的Mapper接口继承即可。
4.对象如何转化为SQL语句。—利用对象中的属性及属性的值动态拼接SQL,之后交给jdbc去执行。
1.4 MyBatisPlus的具体实现
1.4.1 添加依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.2.0</version>
</dependency>
1.4.2 加注解
1.@TableName("user") //实体类上加,标识对象与表的映射关系,如果表明与对象名称一致,后面的值可以省略不写。
2.@TableId(type= IdType.AUTO) //代表主键的属性上加,表示主键自增。
1.4.3 实现接口的继承
@Mapper//将mapper接口交给框架管理,并且继承BaseMapper<User>接口
public interface UserMapper extends BaseMapper<User> {
@Select("select id,name,age,sex from user")
List<User> findAll();
}
1.4.4 编辑YML配置文件
mybatis-plus:
#别名包定义 Mapper的resultType中只需要写类名 之后自动拼接即可
type-aliases-package: com.jt.pojo
#加载指定的xml映射文件
mapper-locations: classpath:/mybatis/mappers/*.xml
#开启驼峰映射
configuration:
map-underscore-to-camel-case: true