使用Spring封装的Hibernate findByExample方法

来源:互联网 发布:js打砖块游戏图片素材 编辑:程序博客网 时间:2024/06/05 05:53

org.springframework.orm.hibernate3.HibernateTemplate.findByExample(Object exampleEntity)

这个方法按照exampleEntity所设置的属性值来组合查询语句的where条件,比如:

Users anUser= new Users();
anUser.setUserName("a");
anUser.setPassWord("b");

这样where条件就是:

where username='a'and password='b'

如果再加上下面这句

anUser.setRealName("");

那么where条件就是:

where username='a'and password='b'and realname=''

所以,在使用时要注意上面的用法。

同时,还有一个重载的方法findByExample(Object exampleEntity,int firstResult,int maxResults)
这个方法从第firstResult-1个记录开始查询,一共查询maxResults个记录。为什么是从firstResult-1开始呢?因为和数组一样,他认为一个记录的下标是0.

Hibernate/Spring的findByExample

Java代码 
  1. Class User{  
  2.     String username;  
  3.     String password = "默认口令";  
  4.     Company company;  
  5.     getter()&setter().....  
  6. }  


Java代码 
  1. Company company = companyDao.getById("id");  
  2. User user = new User();  
  3. user.setSid("主键");  
  4. uer.setUsername("user");  
  5. use.setCompany(company);  
  6. userDao.findByExample(user);  

这个时候的SQL条件为: 
Sql代码 
  1. select * from user  
  2. where username = ?  
  3. and password = ?  


findByExample()使用时得出结论: 
1.不支持主键 
2.不支持关联 
3.不支持NULL 
引用
Version properties, identifiers and associations are ignored. By default, null valued properties are excluded

0 0