1. 方言的作用
varchar varchar2 都会映射成String
2. 在hibernate.cfg.xml中配置方言
<!-- 配置数据库的方言,让hibernate知道连接的是那个数据库 -->
* 1). 方言会根据不同的数据库来生成不同的sql语句
所以做分页的时候不用考虑跨数据库的问题
* 2). 数据类型映射, 可以匹配不同的数据类型varchar varchar2 都会映射成String
2. 在hibernate.cfg.xml中配置方言
<!-- 配置数据库的方言,让hibernate知道连接的是那个数据库 -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
3. 分页查询
public class PageDemo {
@Test
public void testPage(){
Session s = HibernateUtils.getSession();
s.beginTransaction();
// 方法1:
// Criteria c = s.createCriteria(Book.class);
// 以下设置分页
// c.setFirstResult(3); //从第3行开始
// c.setMaxResults(2); //最多查询几行 ,上面两句相当于: limit 3,2
// 方法2: hql
// String hql = "from Book";
// Query q = s.createQuery(hql);
// q.setFirstResult(3);
// q.setMaxResults(3);
// 方法3: 纯sql
String sql = "select * from book"; //list<Object[]>
SQLQuery q = s.createSQLQuery(sql);
q.setFirstResult(3);
q.setMaxResults(3);
q.setResultTransformer(Transformers.aliasToBean(Book.class));
List<Book> list = q.list();
System.err.println(">>:"+list);
s.getTransaction().commit();
}
}