您好,欢迎来到华拓网。
搜索
您的当前位置:首页Hibernate使用sql语句查询结果

Hibernate使用sql语句查询结果

来源:华拓网


转载

Hibernate使用sql语句查询

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\

//返回全部的记录集

.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\列名, 数据类型 s.addScalar(\"name\

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\ ss.addScalar(\"name\

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\ s3.addScalar(\"name\

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\ e.addScalar(\"name\

List r=e.list();

SqlQueryBean sqb=(SqlQueryBean)r.get(0);

System.out.println(sqb.getId()); System.out.println(sqb.getName()); } }

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo3.cn 版权所有 湘ICP备2023017654号-3

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务