MyBatis逆向工程生成dao层增删改查方法解释使用(转载)
int countByExample(BUserExample example); //根据条件查询数量
/**
* 示例
* public int countByExample() {
* BUserExample userExample = new BUserExample();
* BUserExample.Criteria criteria = userExample.createCriteria();
* criteria.andUsernameEqualTo("fan");
* int count = userMapper.countByExample(userExample);
* return count;
* }
* 相当于:select count(*) from user where username = 'fan'
*/
int deleteByExample(BUserExample example); //根据条件删除数据(一条或多条)
/**
* 示例
* public int deleteByExample() {
* BUserExample userExample = new BUserExample();
* BUserExample.Criteria criteria = userExample.createCriteria();
* criteria.andUsernameEqualTo("fan");
* int count = userMapper.deleteByExample(userExample);
* return count;
* }
* 相当于:delete from user where username = 'fan'
*/
int deleteByPrimaryKey(Integer id); //根据主键删除数据
int insert(BUser record); //插入数据(插入一条数据)
int insertSelective(BUser record); //插入数据(插入一条数据,只插入不为null的字段,不会影响有默认值的字段)
List<BUser> selectByExample(BUserExample example); //根据条件查询数据
/**
* 示例:
* public List<BUser> getList() {
* BUserExample userExample = new BUserExample();
* BUserExample.Criteria criteria = userExample.createCriteria();
* criteria.andUsernameEqualTo("fan");
* userExample.setOrderByClause("username desc");
* List<BUser> users = userMapper.selectByExample(userExample);
* return users;
* }
* 相当于:select * from user where username = 'fan' order by username desc
*/
BUser selectByPrimaryKey(Integer id); //根据主键查询
int updateByExampleSelective(@Param("record") BUser record, @Param("example") BUserExample example); //按条件更新值不为null的字段
/**
* 示例:
* public int updateByParam(String username) {
* BUserExample userExample = new BUserExample();
* BUserExample.Criteria criteria = userExample.createCriteria();
* criteria.andUsernameEqualTo(username);
* BUser user = new BUser();
* user.setNickname("jdk");
* int update = userMapper.updateByExampleSelective(user, userExample);
* return update;
* }
* 相当于:update user set nickname = 'jdk' where username = #{username}
*/
int updateByExample(@Param("record") BUser record, @Param("example") BUserExample example); //按条件更新
int updateByPrimaryKeySelective(BUser record); //根据主键与条件更新
/**
* 示例:
* public int updateByIdAndParam(String username) {
* BUser user = new BUser();
* user.setId(101);
* user.setUsername(username);
* int update = userMapper.updateByPrimaryKeySelective(user);
* return update;
* }
* 相当于:update user set username = #{username} where id = 101
*/
int updateByPrimaryKey(BUser record); //根据主键更新
原文链接:https://blog.csdn.net/feidao0/article/details/80731824
MyBatis逆向工程生成dao层增删改查方法解释使用(转载)的更多相关文章
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-2.使用Mybatis注解开发视频列表增删改查
笔记 2.使用Mybatis注解开发视频列表增删改查 讲解:使用Mybatis3.x注解方式 增删改查实操, 控制台打印sql语句 1.控制台打印sql语句 ...
- 通用mapper的增删改查方法 留存 备忘
Mybatis通用Mapper介绍与使用 前言 使用Mybatis的开发者,大多数都会遇到一个问题,就是要写大量的SQL在xml文件中,除了特殊的业务逻辑SQL之外,还有大量结构类似的增删改查SQ ...
- Spring Data CrudRepository增删改查方法(八)
CrudRepository 的主要方法 long count(); boolean exists(Integer arg0); <S extends StudentPO> S sav ...
- Django REST framework 五种增删改查方法
Django-DRF-视图的演变 版本一(基于类视图APIView类) views.py: APIView是继承的Django View视图的. 1 from .serializers impor ...
- Mybatis之基于XML的增删改查
这里先吐槽下,写的半天的东西,IE浏览器弹出调试窗口导致写的东西全部没保存,搞得我还要重新用谷歌写,思路全没了,fuck. 前面学习了下spring的DAO层,说起DAO层,那ORM肯定是少不了的,O ...
- SSM框架之MyBatis框架实现简单的增删改查
MyBatis框架介绍 MyBatis是一个优秀的数据持久层框架,在实体类和SQL语句之间建立映射关系是一种半自动化的ORM实现,其封装性要低于Hibernate,性能优越,并且小巧,简单易学,应用也 ...
- SSMybatis整合 --详细解读Mybatis对oracle数据库进行增删改查(一)
Mybatis是现在主流的持久化层框架,与Hibernate不同的是,它鼓励程序员使用原声SQL语句对数据库进行操作.因此提供了非常灵活的功能.特别是当数据库同时访问数过多,需要进行优化时,使用sql ...
- mybatis:开发环境搭建--增删改查--多表联合查询(多对一)
什么是mybatisMyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索.MyBatis使用简单的XML或 ...
- 【Mybatis】mybatis开启Log4j日志、增删改查操作
Mybatis日志(最常用的Log4j) 官方网站http://www.mybatis.org/mybatis-3/zh/logging.html 1.在src目录下创建一个log4j.propert ...
随机推荐
- “500 oops socket” Debian 9 running via Linux Deploy上成功部署vsftpd的解决方案(201901原创)【成功完美简单极致】
"500 oops socket" Debian 9 running via Linux Deploy上成功部署vsftpd的解决方案(201901原创)[成功完美简单极致] #自 ...
- 【Flutter】容器类组件之变换
前言 Transform可以在其子组件绘制时对其应用一些矩阵变换来实现一些特效. 接口描述 const Transform({ Key key, @required this.transform, t ...
- 与HBase对比,Cassandra的优势特性是什么?
在1月9日Cassandra中文社区开年活动开始之前的闲聊时间,活动的四位嘉宾就"HBase和Cassandra的对比"这一话题展开了讨论. 总的来说,HBase和Cassan ...
- 【JAVA并发第三篇】线程间通信
线程间的通信 JVM在运行时会将自己管理的内存区域,划分为不同的数据区,称为运行时数据区.每个线程都有自己私有的内存空间,如下图示: Java线程按照自己虚拟机栈中的方法代码一步一步的执行下去,在这一 ...
- MyBatis初级实战之五:一对一关联查询
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- DOCKER 安装步骤-最靠谱的笔记
一.系统环境规划 服务器名 项目名称 docker 操作系统 CentOS Linux release 7.1.1503 (Core) Docker 版本 17.03.2-ce 二.Docker ...
- 白日梦的Elasticsearch实战笔记,32个查询案例、15个聚合案例、7个查询优化技巧。
目录 一.导读 三._search api 搜索api 3.1.什么是query string search? 3.2.什么是query dsl? 3.3.干货!32个查询案例! 四.聚合分析 4.1 ...
- Springboot中mybatis控制台打印sql语句
Springboot中mybatis控制台打印sql语句 https://www.jianshu.com/p/3cfe5f6e9174 https://www.jianshu.com/go-wild? ...
- 目前 c++ primer学习总结笔记
C++的开始 1 main的返回值:0为成功状态,非0为系统定义的错误类型 2 输入输出:计算结果为左侧运算对象,IO操作读写缓冲与程序中的动作无关 3 输入流istream对象:cin(标准输入): ...
- Vue中双向数据绑定是如何实现的?
vue 双向数据绑定是通过 数据劫持 结合 发布订阅模式的方式来实现的, 也就是说数据和视图同步,数据发生变化,视图跟着变化,视图变化,数据也随之发生改变:核心:关于VUE双向数据绑定,其核心是 Ob ...