我前面也有写过一篇Hibernate使用原生态SQL语句的方法。但那种方法是添加实体类。没有表,但要反射实体类进行映射,也就是要写实体类。有兴趣的可以在我博客里找到那篇看看。
这次我记录的是不需要写实体类,数据库也不需要做视图。方法如下。
1.String sql = " ";//这里面写的是SQL语句,在数据库中能正常执行的SQL语句
2.SQLQuery query = Exec_Query(sql);
query.addScalar("?",Hibernate.?); //第一个?号是指你SQL语句中查询的字段名,第二个?号指的是这个字段名的类型,比如String或是Integer。这个类似于实体类一样,只是把实体类映射写在了这里。如果有多个,可以直接在后面再加。比如query.addScalar("?",Hibernate.?).addScalar("?",Hibernate.?).addScalar("?",Hibernate.?).....;
3.query.list();
上面有注释说明,我重新写一下,免得乱
public List list_data(){
String sql = "select count(*) as num from zpjqb ";
SQLQuery query = Exec_Query(sql);
query.addScalar("num",Hibernate.INTEGER);
query.list();
}