如何理解mybatis生成文件
发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,今天就跟大家聊聊有关如何理解mybatis生成文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。mybatis逆向工程之生成文件解释一、map
千家信息网最后更新 2024年11月24日如何理解mybatis生成文件
今天就跟大家聊聊有关如何理解mybatis生成文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
mybatis逆向工程之生成文件解释
一、mapper接口中的方法解析
mapper接口中的函数及方法
方法 | 功能说明 |
---|---|
int countByExample(UserExample example) thorws SQLException | 按条件计数 |
int deleteByPrimaryKey(Integer id) thorws SQLException | 按主键删除 |
int deleteByExample(UserExample example) thorws SQLException | 按条件查询 |
String/Integer insert(User record) thorws SQLException | 插入数据(返回值为ID) |
User selectByPrimaryKey(Integer id) thorws SQLException | 按主键查询 |
ListselectByExample(UserExample example) thorws SQLException | 按条件查询 |
ListselectByExampleWithBLOGs(UserExample example) thorws SQLException | 按条件查询(包括BLOB字段)。只有当数据表中的字段类型有为二进制的才会产生。 |
int updateByPrimaryKey(User record) thorws SQLException | 按主键更新 |
int updateByPrimaryKeySelective(User record) thorws SQLException | 按主键更新值不为null的字段 |
int updateByExample(User record, UserExample example) thorws SQLException | 按条件更新 |
int updateByExampleSelective(User record, UserExample example) thorws SQLException | 按条件更新值不为null的字段 |
二、example实例解析
mybatis的逆向工程中会生成实例及实例对应的example,example用于添加条件,相当where后面的部分
xxxExample example = new xxxExample();
Criteria criteria = new Example().createCriteria();
方法 | 说明 |
---|---|
example.setOrderByClause("字段名 ASC"); | 添加升序排列条件,DESC为降序 |
example.setDistinct(false) | 去除重复,boolean型,true为选择不重复的记录。 |
criteria.andXxxIsNull | 添加字段xxx为null的条件 |
criteria.andXxxIsNotNull | 添加字段xxx不为null的条件 |
criteria.andXxxEqualTo(value) | 添加xxx字段等于value条件 |
criteria.andXxxNotEqualTo(value) | 添加xxx字段不等于value条件 |
criteria.andXxxGreaterThan(value) | 添加xxx字段大于value条件 |
criteria.andXxxGreaterThanOrEqualTo(value) | 添加xxx字段大于等于value条件 |
criteria.andXxxLessThan(value) | 添加xxx字段小于value条件 |
criteria.andXxxLessThanOrEqualTo(value) | 添加xxx字段小于等于value条件 |
criteria.andXxxIn(List<?>) | 添加xxx字段值在List<?>条件 |
criteria.andXxxNotIn(List<?>) | 添加xxx字段值不在List<?>条件 |
criteria.andXxxLike("%"+value+"%") | 添加xxx字段值为value的模糊查询条件 |
criteria.andXxxNotLike("%"+value+"%") | 添加xxx字段值不为value的模糊查询条件 |
criteria.andXxxBetween(value1,value2) | 添加xxx字段值在value1和value2之间条件 |
criteria.andXxxNotBetween(value1,value2) | 添加xxx字段值不在value1和value2之间条件 |
三、应用举例
1.查询
① selectByPrimaryKey()
User user = XxxMapper.selectByPrimaryKey(100); //相当于select * from user where id = 100
② selectByExample() 和 selectByExampleWithBLOGs()
UserExample example = new UserExample();Criteria criteria = example.createCriteria();criteria.andUsernameEqualTo("wyw");criteria.andUsernameIsNull();example.setOrderByClause("username asc,email desc");List>list = XxxMapper.selectByExample(example);//相当于:select * from user where username = 'wyw' and username is null order by username asc,email desc
注:在iBator逆向工程生成的文件XxxExample.Java中包含一个static的内部类Criteria,Criteria中的方法是定义SQL 语句where后的查询条件。
2.插入数据
①insert()
User user = new User();user.setId("dsfgsdfgdsfgds");user.setUsername("admin");user.setPassword("admin")user.setEmail("wyw@163.com");XxxMapper.insert(user);//相当于:insert into user(ID,username,password,email) values ('dsfgsdfgdsfgds','admin','admin','wyw@126.com');
3.更新数据
①updateByPrimaryKey()
User user =new User();user.setId("dsfgsdfgdsfgds");user.setUsername("wyw");user.setPassword("wyw");user.setEmail("wyw@163.com");XxxMapper.updateByPrimaryKey(user);//相当于:update user set username='wyw', password='wyw', email='wyw@163.com' where id='dsfgsdfgdsfgds'
②updateByPrimaryKeySelective()
User user = new User();user.setId("dsfgsdfgdsfgds");user.setPassword("wyw");XxxMapper.updateByPrimaryKey(user);//相当于:update user set password='wyw' where id='dsfgsdfgdsfgds'
③ updateByExample() 和 updateByExampleSelective()
UserExample example = new UserExample();Criteria criteria = example.createCriteria();criteria.andUsernameEqualTo("admin");User user = new User();user.setPassword("wyw");XxxMapper.updateByPrimaryKeySelective(user,example);//相当于:update user set password='wyw' where username='admin'
updateByExample()更新所有的字段,包括字段为null的也更新,建议使用 updateByExampleSelective()更新想更新的字段
4.删除数据
①deleteByPrimaryKey()
XxxMapper.deleteByPrimaryKey(1); //相当于:delete from user where id=1
②deleteByExample()
UserExample example = new UserExample();Criteria criteria = example.createCriteria();criteria.andUsernameEqualTo("admin");XxxMapper.deleteByExample(example);//相当于:delete from user where username='admin'
数量
①countByExample()
UserExample example = new UserExample();Criteria criteria = example.createCriteria();criteria.andUsernameEqualTo("wyw");int count = XxxMapper.countByExample(example);//相当于:select count(*) from user where username='wyw'
看完上述内容,你们对如何理解mybatis生成文件有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
条件
字段
更新
查询
生成
数据
方法
文件
内容
实例
工程
逆向工程
之间
接口
二进制
函数
功能
升序
只有
建议
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
怎么看服务器路由
以下哪个术语指的是数据库
内蒙古gps时钟监控网关服务器
济南海鲜配送软件开发
数据库概念 逻辑 物理
数据库技术及应用课程简介
软件开发ci和ce的区别
拓邦股份 软件开发
广东智慧工地管理平台软件开发
计算机网络技术考建筑师
毛万春 网络安全法
局域网络安全防护系统
数据库的持久化
中国网络安全中心院士
hbas与传统数据库
洋紫荆油墨数据库
群晖文件服务器备份到别服务器上
php网络安全
暗黑啊2重制版 服务器
有关网络安全利弊的作文
老年人网络安全防骗
对数据库管理的评价
网络安全体系基本原则
江苏安卓软件开发哪家可靠
软件开发合同应该注意关键点
王者荣耀qq区服务器数量
数字化时代网络安全风险
cf服务器无反应
服务器管理网口能正常用吗
网络安全和信息化知识竞赛题