MyBaties中Mapper内置方法的自我理解
来源:互联网 发布:淘宝刷访问量 编辑:程序博客网 时间:2024/05/21 10:43
属性:
Criterion:单个条件
criteria:内置多个criterion对象,整合多个条件
record:用户的对象
方法:
==>
**Example example=new **Example();
Criteria criteria=example.createCriteria();
//以下直接引用criteria。
User user=new User();
//以User为例;User类的属性有姓名name,性别sex,年龄age
==>
1、countByExample(example)===>以条件计数
例:criteria.andUsernameEqualTo("赵云");
userDao.countByExample(example);
相当于select count(*) from User where Username="赵云"。
2、deleteByExample(example)===>以条件删除
例:criteria.andUsernameEqualTo("高超");
userDao.deleteByExample(example);
相当于delete from user where username="高超";
3、deleteByPrimaryKey(id)===》通过主键id删除
例:userDao.deleteByPrimaryKey(333);
相当于delete from user where Id=333;
4、insert(record)===》插入对象,完全变成用户插入的数据
例:user.setName("金成");
user.setAge(22);
user.setSex("男");
userDao.insert(user);
相当于insert into user ( name,age,sex) value ("金成",22,"男");
5、insertSelective(record)===》对要插入的对象进行是否为null判断,插入不为null的数据。数据库中对表某些字段设置默认值,若采用该方法且用户插入的该字段为空,则不会改变该字段的默认值
例:表user中sex字段默认值为男
user.setName("胖子");
user.setAge(22);
user.setSex(null);
(1)userDao.insert(user);
相当于insert into user (name,age,sex) values ("胖子",22,null);
表中数据,name:"胖子" age:22 sex:null
(2)userDao.insertSelective(user);
相当于insert into user (name,age) values("胖子",22);
表中数据,name:"胖子" age:22 sex:"男"
6、selectByExample(example)===》按条件查询,返回值为list<user>
例:criteria.andUsernameEqualTo("超哥');
userDao.selectByExample(example);
相当于select * from user where username="超哥";
7、selectByPrimaryKey(id)===>按id查找,返回值为user
例:
userDao.selectByPrimaryKey(33);
相当于select * from user where id = 33;
8、updateByExampleSelective(record,example)===》对用户给的对象进行判断,根据条件更新对象,只更新用户对象不为空的值(可以参考insert和insertSelective的区别)
例:user.setName("飘飘");
user.setAge(44);
criteria.andUsernameEqualTo("云飘");
userDao.updateByExampleSelective(user,example);
相当于update user set username="飘飘",age=44 where username="云飘";
9、updateByExample(record,example)===>根据条件更新对象
user.setName("飘飘");
user.setAge(44);
criteria.andUsernameEqualTo("云飘");
userDao.updateByExample(user,example);
相当于update user set username="飘飘",age=44,sex= where username="云飘";
报错sex无值
10、updateByPrimaryKey(record)===》根据主键更新
user.setId(5)
user.setName("飘飘");
user.setAge(44);
userDao.updateByPrimaryKey(user);
相当于update user set username="飘飘",age=44,sex= where id=5;
报错,sex无值
11、updateByPrimaryKeySelective(record)===>根据主键选择用户对象不为空的更新
user.setId(3);
user.setName("飘飘");
user.setAge(44);
userDao.updateByPrimaryKeySelective(user);
相当于update user set username="飘飘",age=44 where id=3;
- MyBaties中Mapper内置方法的自我理解
- Mybatis中Mapper内置方法
- Mybatis中Mapper内置方法细解
- Mybatis中Mapper内置方法细解
- Mybatis中Mapper内置方法细解
- mybaties中$与#的区别
- 对象,类,方法的自我理解
- mybaties的parameterType和resultMap的理解
- Mybatis中配置Mapper的方法
- hadoop中mapper类的setup方法
- Mybatis中配置Mapper的方法
- Mybatis中配置Mapper的方法
- Mybatis中配置Mapper的方法
- Mybatis中配置Mapper的方法
- Mybatis中配置Mapper的方法
- Mybatis中配置Mapper的方法
- Mybatis中配置Mapper的方法
- Mybatis中配置Mapper的方法
- 排序算法---合并排序(Merge Sort)
- SpringMVC Controller 接收页面传递的中文参数出现乱码
- 做自由职业者是怎样的体验
- D
- 异常解决:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
- MyBaties中Mapper内置方法的自我理解
- 怎么将Extjs6.0应用在myeclipse中的项目,包括spket插件
- 99. Recover Binary Search Tree
- ROS学习(基于Ubuntu 15.04 和ROS Jade)第三章 ROS核心教程 之 13 编写简单的服务器和客户端
- html初识
- sapui5 table responsive显示- 手机上自动折行显示
- G
- Android蓝牙开发详解
- 棋盘问题