mybatis中的mapper接口文件以及example类的实例函数以及详解 转载 2016年03月18日 10:28:46 19170213 [java] view plain copy ##Exa
来源:互联网 发布:出版印刷设计软件 编辑:程序博客网 时间:2024/06/16 09:44
mybatis中的mapper接口文件以及example类的实例函数以及详解
- ##Example example = new ##Example();
- example.setOrderByClause("字段名 ASC");
- example.setDistinct(false)
- Criteria criteria = new Example().createCriteria();
- is null;is not null;
- equal to(value);not equal to(value);
- GreaterThan(value);GreaterThanOrEqualTo(value);
- LessThan(value); LessThanOrEqualTo(value);
- in(item,item,item,...);not in(item,item,item,...);
- like("%"+value+"%");not like("%"+value+"%");
- Between(value1,value2);not between(value1,value2)
-
-
-
- mybatis中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:按主键查询。
- List<?>selectByExample(UserExample example) thorws SQLException:按条件查询
- List<?>selectByExampleWithBLOGs(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的字段
-
- mybatis中mapper的实例函数详解:
- ① selectByPrimaryKey()
-
- User user = ##Mapper.selectByPrimaryKey(100); 相当于select * from user where
-
- id = 100
-
- ② selectByExample() 和 selectByExampleWithBLOGs()
-
- UserExample example = new UserExample();
- Criteria criteria = example.createCriteria();
- criteria.andUsernameEqualTo("joe");
- criteria.andUsernameIsNull();
- example.setOrderByClause("username asc,email desc");
- List<?>list = ##Mapper.selectByExample(example);
- 相当于:select * from user where username = 'joe' and username is null order
-
- by username asc,email desc
-
- 注:在iBator 生成的文件UserExample.java中包含一个static 的内部类 Criteria ,
-
- 在Criteria中有很多方法,主要是定义SQL 语句where后的查询条件。
-
- ③ insert()
-
- User user = new User();
- user.setId(101);
- user.setUsername("test");
- user.setPassword("123")
- user.setEmail("joe@163.com");
- ##Mapper.insert(user);
- 相当于:insert into user(ID,username,password,email) values
-
- (101,'test','123','joe@163.com');
-
- ④ updateByPrimaryKey() 和 updateByPrimaryKeySelective()
-
- User user =new User();
- user.setId(101);
- user.setUsername("joe");
- user.setPassword("joe");
- user.setEmail("joe@163.com");
- ##Mapper.updateByPrimaryKey(user);
- 相当于:update user set username='joe',password='joe',email='joe@163.com'
-
- where id=101
-
- User user = new User();
- user.setId(101);
- user.setPassword("joe");
- ##Mapper.updateByPrimaryKeySelective(user);
- 相当于:update user set password='joe' where id=101
-
- ⑤ updateByExample() 和 updateByExampleSelective()
-
- UserExample example = new UserExample();
- Criteria criteria = example.createCriteria();
- criteria.andUsernameEqualTo("joe");
- User user = new User();
- user.setPassword("123");
- ##Mapper.updateByPrimaryKeySelective(user,example);
- 相当于:update user set password='123' where username='joe'
-
- ⑥ deleteByPrimaryKey()
-
- ##Mapper.deleteByPrimaryKey(101); 相当于:delete from user where id=101
-
- ⑦ deleteByExample()
-
- UserExample example = new UserExample();
- Criteria criteria = example.createCriteria();
- criteria.andUsernameEqualTo("joe");
- ##Mapper.deleteByExample(example);
- 相当于:delete from user where username='joe'
-
- ⑧ countByExample()
-
- UserExample example = new UserExample();
- Criteria criteria = example.createCriteria();
- criteria.andUsernameEqualTo("joe");
- int count = ##Mapper.countByExample(example);
- 相当于:select count(*) from user where username='joe'