9、MyBatis-Plus
MyBatis简介
- MyBatis原本是apache的一个开源项目iBatis
- 2010年该项目由apache software foundation迁移到了Google code,并且改名为MyBatis
- 2013年11月迁移到GitHub
- MyBatis是一款持久化框架,它支持自定义SQL查询、存储过程以及高级映射
- 与传统的 JDBC 开发相比, MyBatis 消除了几乎所有的代码和参数的手工设置
- MyBatis是一个ORM框架
- MyBatis可以使用 XML 或注解方式进行配置和映射,它是把实体类和SQL语句之间建立了映射关系,而Hibernate是在实体类和数据库表之间建立了映射关系。
GitHub源码:
- https://github.com/mybatis/mybatis-3
MyBatis中文手册:
- http://www.mybatis.org/mybatis-3/zh/index.html
MyBatis使用
- 创建一个Java Project
- 导入MyBatis需要的jar包
- 创建MyBatis的主配置文件mybatis.xml
- 创建实体类和映射器接口
- 创建MyBatis的SQL映射XML文件
- 将SQL映射文件与主配置文件进行关联
- 编写代码进行测试
MyBatis核心XML配置文件
- XML 配置文件(configuration XML)中包含了对 MyBatis 系统的核心设置,包含获取数据库连接实例的数据源(DataSource)和决定事务作用域和控制方式的事务管理器(TransactionManager)
映射文件的根元素为mapper,它的namespace属性为映射器接口的完全限定名,以下子元素的id属性值为接口中的某个方法名称
- insert – 映射插入语句
- update – 映射更新语句
- delete – 映射删除语句
- select – 映射查询语句
MyBatis注解
MyBatis注解
- MyBatis注解方式就是将SQL语句直接写在映射接口上
- 优点:对于需求简单的系统,效率较高
- 缺点:当SQL发生变化时,需要重新编译代码
- 一般情况下不建议使用注解方式
@Select注解
@Insert注解
@Update注解
@Delete注解
使用注解方式时,在主配置文件中关联映射配置时应该使用如下方法
@Select注解
在映射接口的查询方法上添加如下注解
@Select注解的参数为字符串类型
使用resultMap方式解决表字段名与属性名不一致问题
注解@Results对应XML中的resultMap元素
注解@Result对应XML中的result元素,当参数中出现id=true时,就对应了id元素
从MyBatis3.3.1开始,映射接口中的多个方法可以共用@Results注解,首先要在@Results注解中加上id属性
在映射接口中添加查询方法,通过@ResultMap注解共用@Results注解
@ResultMap中参数的值与@Results注解中id属性的值一致
@Insert注解
在映射接口的插入方法上添加如下注解
@Insert注解的参数为字符串类型
@Delete注解
在映射接口的删除方法上添加如下注解
@Delete注解的参数为字符串类型
MyBatis-Plus使用
MyBatis-Plus (简称 MP)是一个 MyBatis (opens new window) 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
MyBatis-Plus环境搭建
- mysql创建表user。
- sts创建工程(添加依赖)
- 修改application.yml(数据库的连接)
- 创建实体类和映射器接口
- 编写代码进行测试
创建实体类
创建映射器接口
添加测试类
MyBatis-Plus常用注解
@TableName
- 描述:表名注解,标识实体类对应的表
- 使用位置:实体类
@TableId
- 描述:主键注解
- 使用位置:实体类主键字段
@TableField
- 描述:字段注解(非主键)
MyBatis-Plus条件构造器
MyBatis-Plus支持各种复杂的Where条件,可以满足日常开发的所有需求。
CRUD 接口