在Hibernate中使用SQL
来源:互联网 发布:女士钱包淘宝 编辑:程序博客网 时间:2024/05/21 12:43
总结一下,留此备忘
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());
}
}
自己的代码:
DAO:
String
sql=”select MemberID,Username,CityName,Mobile,SendAddress,RecordTime
from henan_mobile.e_personinfo oo where oo.state=Ɗ’ order by
oo.RecordTime desc”;
SQLQuery query=(SQLQuery)
DaoHelper.instance.getCurrentSession().createSQLQuery(sql).setResultTransformer(Transformers.aliasToBean(MemberMess.class));
query.addScalar(“MemberID”, Hibernate.STRING);
query.addScalar(“Username”, Hibernate.STRING);
query.addScalar(“CityName”, Hibernate.STRING);
query.addScalar(“Mobile”, Hibernate.STRING);
query.addScalar(“SendAddress”, Hibernate.STRING);
query.addScalar(“RecordTime”, Hibernate.STRING);
List list1=query.list();
if(null!=list1&&!list1.isEmpty()){
for(int i=0;i
- 在Hibernate中使用SQL
- 在hibernate中使用SQL语句
- 使用SQLQuery 在Hibernate中使用sql语句
- 使用SQLQuery 在Hibernate中使用sql语句
- 使用SQLQuery 在Hibernate中使用sql语句
- 使用SQLQuery 在Hibernate中使用sql语句
- 使用SQLQuery 在Hibernate中使用sql语句
- 使用SQLQuery 在Hibernate中使用sql语句
- 使用SQLQuery 在Hibernate中使用sql语句
- hibernate中使用sql
- hibernate中使用sql
- hibernate在命名查询named queries中使用native sql
- IT忍者神龟之在Hibernate中使用SQL语句
- 在Struts+Spring+Hibernate框架中使用SQL语句查询
- Native sql (本地sql)在Hibernate中
- hibernate阅读1.1.3在JAVA中使用SQL(Using SQL In Java)
- 在WebLogic中使用Hibernate
- 在Eclipse中使用Hibernate
- Docker 镜像只制作LNMP + redis
- 神经网络(拓扑排序)
- 事件处理机制之基于监听的事件处理机制
- Git 常用命令汇总
- ubuntu16.04 UNIX 网络编程卷一 源码使用
- 在Hibernate中使用SQL
- Android之HttpURLConnection的GET和POST请求
- diff,patch和quilt
- Spring 注解
- caffe上手
- Git的Patch功能
- Android 自定义View中drawText获取text宽度的三种方式
- python 机器学习的开发环境搭建(numpy,scipy,matplotlib,scikit-learn)
- hello yoeman——前端自动化构建工具