MyBatisPlus——CRUD
一、BaseMapper——通用CRUD接口通用 CRUD 封装BaseMapper (opens new window)接口,为 Mybatis-Plus 启动时自动解析实体表关系映射转换为 Mybatis 内部对象注入容器二、插入操作(一) 方法定义(二) @TableId 设置id的生成策略数据已经写入到了数据库,但是,id的值不正确,我们期望的是数据库自增长,实际是MP生成了id的值写入到
·
一、BaseMapper——通用CRUD接口
通用 CRUD 封装BaseMapper (opens new window)接口,为 Mybatis-Plus 启动时自动解析实体表关系映射转换为 Mybatis 内部对象注入容器
二、插入操作
(一) 方法定义
(二) @TableId 设置id的生成策略
数据已经写入到了数据库,但是,id的值不正确,我们期望的是数据库自增长,实际是MP生成了id的值写入到了数据库
使用@TableId设置数据库id自增
(三) @TableField
(1) 对象中的属性名和字段名不一致的问题(非驼峰)
(2) 对象中的属性字段在表中不存在的问题
在未添加@TableField,如果执行插入操作时,为属性address赋值,在程序执行插入操作时会报错显示插入失败。因此需要用 @TableField标识该属性字段不存在。
(3) 查询时不返回该字段的值
(四) 细节
(1) 当实体类中某个成员变量值为null时,生成的sql语句中就不会有该属性
以插入语句为例
三、更新操作
(一) updateById 根据id更新
(二) update 根据条件更新
(1) 使用QueryWrapper
(2) 使用UpdateWrapper
(三) 细节
在mybatisplus中,update语句中会默认把不为null的属性添加在更新语句中
注意:数据库与实体类属性对应,尽量要使用包装类
四、删除操作
(一) 根据 ID 删除 deleteById
(二) 根据 columnMap 条件删除记录 deleteByMap
将columnMap中的元素设置为删除的条件,多个之间为and关系
(三) delete
(1) 方式一
(2) 方式二
(四) 根据ID批量删除 deleteBatchIds
五、查询操作
(一) 根据ID查询 selectById
(二) 根据ID批量查询 selectBatchIds
(三) 根据条件查询一条记录 selectOne
注意:当查查询的数据超过一条时,会抛出异常
(四) 根据条件查询总记录数 selectCount
(五) 根据根据条件查询全部记录 selectList
注意:使用selectList方法进行查询时,如果未查出记录,则返回一个空的集合,而不是null
(六) 分页查询
更多推荐
已为社区贡献1条内容
所有评论(0)