1.创建一个criteria实例,刚方法是一个简单的获取实体BEAN的所有对象
Session session=sessionFactory.openSession();
Criteria crit =session.createCriteria(User.class);
List list = crit.list();
2.通过Restrictions限制结果集的内容,该方法的子类很多有eq(判断是否相等),isNull(是否为空),sql等,userName必须是实体bean的映射属性
Criteria crit =session.createCriteria(User.class)
.add(Restrictions.like("userName","%a%")) //模糊查询
.add(Restrictions.between("moble","4","8")); //在两者之间
3.通过Property.forName获取条件字段
Property moble = Property.forName("moble"); //mobile是实体BEAN映射表的一个字段
Criteria crit=session.createCriteria(User.class)
.add( Restrictions.disjunction()
.add( moble.isNull() ) //判断该字段是否为空
.add( moble.eq("4" ) )
.add( moble.eq( "5" ) )
.add( moble.eq( "6" ) )
).add( Property.forName("userName").in( new String[] { "iaspec", "admin", "yfga" } ) );
4.对结果集进行排序
Criteria crit = session.createCriteria(User.class)
.add( Restrictions.like("userName", "%%"))
.addOrder( Order.asc("isvalid") ) //升序
.addOrder( Property.forName("moble").desc()) //降序
.setMaxResults(50); //设置最大条数
5.表关联
Criteria crit = session.createCriteria(User.class)
.add( Restrictions.like("name", "F%"))
.createCriteria("role") //创建一个新实例,实现相关联
.add( Restrictions.like("name", "F%"));
未完待续。。。