目录
9,创dao层的UserMapper接口,供mybatis调用
1,将UserMapper继承BaseMapper,将拥有BaseMapper中的所有方法
2,测试中用MybatisSqlSessionFactoryBuilder去构建工厂对象
一,环境搭建
1,创建user表
2,创建maven工程
3,在pom.xml中导入相关依赖
4,导入工具包
5,导入日志文件
6,创建jdbc.properties文件
7,创建mybatis 的核心配置文件
里面又配置数据源信息和映射关系的接口所在的包,就不写映射文件了,在接口中写注解代替。
8,创建user实体类
需要导入依赖和安装lombok
使用lombok注解可以帮我们快速创建get,set,tostring方法
9,创dao层的UserMapper接口,供mybatis调用
用注解写一个简单的查询全部的方法
10,用junit单元测试
控制台
能成功打印。
二,整合mybatisplus
1,将UserMapper继承BaseMapper,将拥有BaseMapper中的所有方法
共有这些基础的方法供我们学习
2,测试中用MybatisSqlSessionFactoryBuilder去构建工厂对象
3,在实体类中添加@TableName注解
这样继承的mapper就能找到对应的实体表了,由于plus只能单表查询,多表查询或复杂的查询要手动写。
这样就能完成整合
4,小问题的解决
因为mybatisplus默认驼峰转换,把属性phoneNum,转换成字段phone_Num,这里我们属性和字段是一致的就不用转换了,用@TableField(value=“phoneNum”)手动绑定属性与字段的连接。
如果属性index在表中没有字段匹配,有用@TableField(exist=false)去表示
为了保护数据。
新加入的字段重置一下,这样就避免默认更改字段。
三,学习BaseMapper中的方法
1,学习insert插入方法
需要一个实体参数,返回值是int,是影响数据库的行数。这里插入后会回填给user实体中的id。
测试
控制台
数据库
这里id的自增不是数据库自增的,而是plus插件的id决策(雪花算法)所传入的值,需要修改id决策为AUTO用@TableId注解
再测一次,这次返回回写的id
控制台
这次的sql语句中就没有插入id值
数据库
2,学习update更新方法
(1)updateById
传入的值是实体,返回值是影响的行
控制台
数据库
(2)update(T,wrapper<T>)
T是实体对象里面放入要修改的字段和信息,wrapper是封装的条件用于生成where后的条件。
Wrapper有两个实现类
QueryWrapper里面放的where后的条件。gt是大于,lt是小于,eq是等于,ge 是大于等于,like模糊查询,orderByDesc倒序排序 orderBy正序。or,and,条件查询,select指定查询字段
UpdateWrapper里面可以放入需要修改的字段和条件
3,学习delete删除方法
(1)deleteById
控制台
数据库id为8的被删除
(2)deleteByMap(Map<String,Object>)
把条件放入map中键就是字段。
控制台
数据库username为liucaihua,密码为123的被删除
(3)delete(Wrapper<T>)
条件删除把条件放入qurryWrapper中
第一种写法
第二种写法
这种写法不需要考虑字段的写法
控制台
数据库username为caihua,密码为123的被删除
(4
)deleteBatchIds根据集合进行批量删除
创建3条数据供批量删除
控制台
数据库中3条数据被删除
4,学习select查询方法
(1)selectById
根据id查询
控制台
(2)selectBatchIds根据集合批量查询
控制台
(3)selectOne(Wrapper<T>)
根据条件查询一条数据
控制台
能查到
(4)selectCount查询数据的条数
控制台
查询到5条数据
(5)selectList根据条件查多条数据
控制台
(6)selectPage,分页查询
先创建分页插件
再写测试方法