hibernate--HQL语句总结.docx_第1页
hibernate--HQL语句总结.docx_第2页
hibernate--HQL语句总结.docx_第3页
hibernate--HQL语句总结.docx_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1. 查询整个映射对象所有字段/直接from查询出来的是一个映射对象,即:查询整个映射对象所有字段 String hql = from Users; Query query = session.createQuery(hql); List users = query.list(); for(Users user : users) System.out.println(user.getName() + : + user.getPasswd() + : + user.getId(); 输出结果为: name1 : password1 : 1name2 : password2 : 2name3 : password3 : 32.查询字段/查询其中几个字段 String hql = select name,passwd from Users; Query query = session.createQuery(hql); /默认查询出来的list里存放的是一个Object数组 List list = query.list(); for(Object object : list) String name = (String)object0; String passwd = (String)object1; System.out.println(name + : + passwd); 输出结果为: name1 : password1 name2 : password2 name3 : password3 3.修改默认查询结果(query.list()不以Object数组形式返回,以List形式返回/查询其中几个字段,添加new list(),注意list里的l是小写的。也不需要导入包,这样通过query.list()出来的list里存放的不再是默认的Object数组了,而是List集合了 String hql = select new list(name,passwd) from Users; Query query = session.createQuery(hql); /默认查询出来的list里存放的是一个Object数组,但是在这里list里存放的不再是默认的Object数组了,而是List集合了 List list = query.list(); for(List user : list) String name = (String)user.get(0); String passwd = (String)user.get(1); System.out.println(name + : + passwd); /* 输出结果为: name1 : password1 name2 : password2 name3 : password3 */4.修改默认查询结果(query.list()不以Object数组形式返回,以Map形式返回/查询其中几个字段,添加new map(),注意map里的m是小写的。也不需要导入包,这样通过query.list()出来的list里存放的不再是默认的Object数组了,而是map集合了 String hql = select new map(name,passwd) from Users; Query query = session.createQuery(hql); /默认查询出来的list里存放的是一个Object数组,但是在这里list里存放的不再是默认的Object数组了,而是Map集合了 List list = query.list(); for(Map user : list) /一条记录里所有的字段值都是map里的一个元素,key是字符串0,1,2,3.,value是字段值 / 如果将hql改为:String hql = select new map(name as username,passwd as password) from Users;,那么key将不是字符串0,1,2.了,而是username,password了 String name = (String)user.get(0);/get(0);是get(key),注意:0,1,2.是字符串,而不是整形 String passwd = (String)user.get(1); System.out.println(name + : + passwd); /* 输出结果为: name1 : password1 name2 : password2 name3 : password3 */5.修改默认查询结果(query.list()不以Object数组形式返回,以自定义类型返回6.条件查询/条件查询,参数索引值从0开始,索引位置。通过setString,setParameter设置参数 String hql = from Users where name=? and passwd=?; Query query = session.createQuery(hql); /第1种方式 / query.setString(0, name1); / query.setString(1, password1); /第2种方式 query.setParameter(0, name1,Hibernate.STRING); query.setParameter(1, password1,Hibernate.STRING); List list = query.list(); for(Users users : list) System.out.println(users.getId(); /条件查询,自定义索引名(参数名):username,:password.通过setString,setParameter设置参数 String hql = from Users where name=:username and passwd=:password; Query query = session.createQuery(hql); /第1种方式 / query.setString(username, name1); / query.setString(password, password1); /第2种方式,第3个参数确定类型 query.setParameter(username, name1,Hibernate.STRING); query.setParameter(password, password1,Hibernate.STRING); List list = query.list(); for(Users users : list) System.out.println(users.getId(); /条件查询,通过setProperties设置参数 String hql = from Users where name=:username and passwd=:password; Query query = session.createQuery(hql); /MyUser类的2个属性必须和:username和:password对应 MyUser myUser = new MyUser(name1,password1); query.setProperties(myUser); List list = query.list(); for(Users users : list) System.out.println(users.getId(); 7.update 数据 执行SQL语句(为什么要用SQL语句,我想是为了执行某些复杂的SQL语句吧)String sql=update Table set field = testSession session = HibernateSessionFactory.getSession();session.createSQLQuery(sql).executeUpdate();mit(); 执行HQL语句String hql=update Table set field

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论