博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hibernate使用sql语句查询
阅读量:7108 次
发布时间:2019-06-28

本文共 2748 字,大约阅读时间需要 9 分钟。

hot3.png

import java.util.Iterator;import java.util.List;import java.util.Map;import org.hibernate.Hibernate;import org.hibernate.SQLQuery;import org.hibernate.Session;import org.hibernate.Transaction;import org.hibernate.transform.Transformers;import com.hibernate.bean.SqlQueryBean;import com.hibernate.bean.User;import com.hibernate.util.HibernateUtil;public class SqlQueryTest { public static void main (String [] args){    sqlQueryAddScalar();   }    static void sqlQueryAddEntity(){     //获取Hibernate Session对象     Session session = HibernateUtil.getSession();     //开始事务     Transaction tx = session.beginTransaction();     //编写SQL语句     String sqlString = "select * from user";     //以SQL语句创建SQLQuery对象     List l = session.createSQLQuery(sqlString)                     //将查询ss实体关联的User类                     .addEntity("ss",User.class)                     //返回全部的记录集                     .list();     //遍历结果集     Iterator it = l.iterator();     while (it.hasNext()){         //因为将查询结果与Student类关联,因此返回的是Student集合         User s = (User)it.next();         String a = s.getName();                 System.out.println(a);     }     //提交事务     tx.commit();     session.close(); }  static void sqlQueryAddScalar(){    //返回Object[]的遍历    Session session=HibernateUtil.getSession();    Transaction transaction=session.beginTransaction();    String sql="select * from user";    SQLQuery s=(SQLQuery) session.createSQLQuery(sql); //.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP)    s.addScalar("id",Hibernate.INTEGER); //列名, 数据类型  s.addScalar("name",Hibernate.STRING);    List list=s.list();   Object[] objects=(Object[])list.get(0);   System.out.println(objects[0]);  System.out.println(objects[1]);    //用MAP    SQLQuery ss=(SQLQuery) session.createSQLQuery(sql).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);    ss.addScalar("id",Hibernate.INTEGER);  ss.addScalar("name",Hibernate.STRING);    List list2=ss.list();    Map map = (Map) list2.get(0);    System.out.println(map.get("name"));  System.out.println(map.get("id"));    //用LIST  SQLQuery s3=(SQLQuery) session.createSQLQuery(sql).setResultTransformer(Transformers.TO_LIST);    s3.addScalar("id",Hibernate.INTEGER);  s3.addScalar("name",Hibernate.STRING);    List list3=s3.list();   List list4=(List)list3.get(0);   System.out.println(list4.get(0));  System.out.println(list4.get(1));    //用自定义的bean    SQLQuery e=(SQLQuery) session.createSQLQuery(sql).setResultTransformer(Transformers.aliasToBean(SqlQueryBean.class));    e.addScalar("id",Hibernate.INTEGER);  e.addScalar("name",Hibernate.STRING);    List r=e.list();   SqlQueryBean sqb=(SqlQueryBean)r.get(0);   System.out.println(sqb.getId());  System.out.println(sqb.getName());  } }

转载于:https://my.oschina.net/tiancai/blog/86349

你可能感兴趣的文章
IDEA
查看>>
解除yum占用
查看>>
转apk打包
查看>>
missing blocks错误
查看>>
realm数据库使用
查看>>
说说qwerty、dvorak、colemak三种键盘布局
查看>>
3、centos6.*与centos7.*防火墙操作命令
查看>>
Java-函数式编程(三)流(Stream)
查看>>
Android实例-Delphi开发蓝牙官方实例解析(XE10+小米2+小米5)
查看>>
客户端测试
查看>>
Spring与MyBatis结合使用
查看>>
Linux内核分析第三周学习总结
查看>>
Python字符串
查看>>
spring cloud学习(五)断路器 Hystrix
查看>>
configure: error: C preprocessor "arm-linux-gnueabihf-g++" fails sanity check
查看>>
Android简单的monkey测试
查看>>
面向对象编程(封装、封装的意义、封装与扩展性、@property)
查看>>
教你如何分辨用户是用手机还是电脑访问你的网站
查看>>
[原]iOS7.1获取图库所有照片的方法封装
查看>>
[转]Linux下scp的用法
查看>>