原生SQL查询:面向数据库的查询,查询语句的关键词是数据库的表名,列名
最原生,适应各种情形,尤其复杂业务
public void fun1(){
Session session = HibernateUtils.openSession();
Transaction tx = session.beginTransaction();
String sql = "select * from cst_customer";
SQLQuery query = session.createSQLQuery(sql);
List<Object[]> list = query.list();//返回数组list
for(Object[] objs : list){
System.out.println(Arrays.toString(objs));
}
tx.commit();
session.close();
}
1.SQL普通查询
String sql = "select * from cst_customer";
SQLQuery query = session.createSQLQuery(sql);
query.addEntity(Customer.class);
List<Customer> list = query.list();//返回对象list
2.SQL条件查询
String sql = "select * from cst_customer where cust_id = ? ";
SQLQuery query = session.createSQLQuery(sql);
query.setParameter(0, 1l);
query.addEntity(Customer.class);
List<Customer> list = query.list();
1. SQL分页查询
String sql = "select * from cst_customer limit ?,? ";
SQLQuery query = session.createSQLQuery(sql);
query.setParameter(0, 0);
query.setParameter(1, 1);
query.addEntity(Customer.class);
List<Customer> list = query.list();