1. package com.imooc.model;
  2.  
  3. import java.util.List;
  4. import java.util.Map;
  5.  
  6. import org.hibernate.Query;
  7. import org.hibernate.Session;
  8. import org.junit.After;
  9. import org.junit.Before;
  10. import org.junit.Test;
  11.  
  12. import com.imooc.util.HibernateSessionFactory;
  13.  
  14. public class SellerTest {
  15. private Session session = null;
  16.  
  17. @Test
  18. public void testSelectClauseSelf(){
  19. String hql = " select new Seller(s.name,s.tel,s.address) from Seller s ";
  20. Query query = session.createQuery(hql);
  21. List<Seller> sellers = query.list();
  22.  
  23. for(Seller seller : sellers){
  24. System.out.println("name: "+seller.getName());
  25. System.out.println("tel:"+seller.getTel());
  26. System.out.println("address:"+seller.getAddress());
  27. }
  28. }
  29.  
  30. @Test
  31. public void testSelectClauseMap(){
  32. String hql = " select new map(s.name,s.tel,s.address) from Seller s ";
  33. Query query =session.createQuery(hql);
  34.  
  35. List<Map> maps = query.list();
  36. for(Map map : maps){
  37. System.out.println("name:"+map.get("0"));
  38. System.out.println("tel:"+map.get("1"));
  39. System.out.println("address:"+map.get("2"));
  40. }
  41. }
  42.  
  43. @Test
  44. public void testSelectClauseList(){
  45. String hql = " select new list(s.name,s.tel,s.address) from Seller s ";
  46.  
  47. Query query = session.createQuery(hql);
  48. List<List> lists = query.list();
  49.  
  50. for(List list : lists){
  51. System.out.println("name : "+list.get(0));
  52. System.out.println("tel:"+list.get(1));
  53. System.out.println("address:"+list.get(2));
  54. }
  55. }
  56.  
  57. /*
  58. * 1.name 2.tel 3.address 4.star
  59. */
  60. @Test
  61. public void testSelectClauseObjectArray(){
  62. String hql = " select s.name from Seller s ";
  63.  
  64. Query query = session.createQuery(hql);
  65.  
  66. List<Object> list = query.list();
  67.  
  68. for(Object obj : list){
  69. System.out.println("name:"+obj);
  70. }
  71. }
  72. /**
  73. * new一个新对象
  74. * @Description:
  75. */
  76. @Test
  77. public void testSelectMap(){
  78. String hql="select new map(s.name as name,s.tel as tel) from Seller s";
  79. Query query = session.createQuery(hql);
  80. List<Map<String,Object>> list = query.list();
  81. for (Map<String, Object> map : list) {
  82. System.out.println(map.get("name")+" "+map.get("tel"));
  83. }
  84. }
  85. /**
  86. * 测试from字句
  87. * @Description:
  88. */
  89. @Test
  90. public void testFromClause(){
  91. String hql = " from Seller s ";
  92.  
  93. Query query = session.createQuery(hql);
  94.  
  95. List<Seller> sellers = query.list();
  96. for(Seller seller : sellers){
  97. System.out.println("name:"+seller.getName());
  98. }
  99. }
  100. /**
  101. * 使用list进行传递里面的参数
  102. * @Description:
  103. */
  104. @Test
  105. public void testListFromClause(){
  106. String hql="select new list(s.name,s.tel) from Seller s";
  107. Query query=session.createQuery(hql);
  108. List<List<Object>> list=query.list();
  109. for (List<Object> list2 : list) {
  110. for (Object object : list2) {
  111. System.out.println(object);
  112. }
  113. }
  114. }
  115. /**
  116. * //当这里的值只能是一个的时候在List的集合中应该设置为Object
  117. * @Description:创建的是distinct 关键字的作用
  118. * distinct这个关键字加入到里面中可以去除重复的内容
  119. */
  120. @Test
  121. public void testListFromDistict(){
  122. String hql="select distinct c.sex from Customer as c";
  123. Query query=session.createQuery(hql);
  124. List<Object> list=query.list();
  125. for (Object object : list) {
  126. System.out.println(object);
  127. }
  128. }
  129. @Before
  130. public void setUp() throws Exception {
  131. session = HibernateSessionFactory.getCurrentSession();
  132. }
  133.  
  134. @After
  135. public void tearDown() throws Exception {
  136. session.close();
  137. }
  138.  
  139. }

hql语句中的select字句和from 字句的更多相关文章

  1. HQL语句中数据类型转换,及hibernate中createQuery执行hql报错

    一.HQL语句中数据类型转换: 我们需要从数据库中取出序号最大的记录,想到的方法就是使用order by子句进行排序(desc倒序),然后取出第一个对象,可是当初设计数据库时(我们是在原来的数据库的基 ...

  2. Hibernate的HQL语句中定位参数和具名参数传参

    HQL查询: 1.有关hql查询语句中的问号参数形式,如果出现有多个问号,这对后面设置参数就比较麻烦. 如:from User user where user.name=? and user.age= ...

  3. SQL语句中的select高级用法

    #转载请联系 为了更好的了解下面的知识点,我们先创建两张表并插入数据. # 学生表 +----+-----------+------+--------+--------+--------+------ ...

  4. 怎样在hibernate的HQL语句中使用mysql 的自定义函数?

    问题:怎样在hibernate中使用mysql的函数? 1.hibernate支持原生态的sql语句查询,使用session.createSQLQuery()创建查询对象: 2.怎样在hql中使用my ...

  5. Insert插入语句中带有select语句

    我们有时候在写Insert语句的时候会遇到values里面的个别列的值需要从别的表中查询获取,这时候SQL语句需要使用向表中插入多条数据的写法: INSERT INTO LoginRecordInfo ...

  6. hibernate hql 语句中 in 的用法

    例子描述查询一些班级中的学生 /** * * @param city * @return */ public List<Student> studentList(final Integer ...

  7. HQL语句中的join fetch

    from Paper as paper join fetch paper.authors as authors where authors.id='xxxx'; from Paper as paper ...

  8. Hibernate中HQL语句中list与iterate区别

    session.createQuery("from Classes").list() session.createQuery("from Classes").i ...

  9. hql语句中的分页显示

    public List<User> getUserList(int pageInfo) { DBUtil dbutil = new DBUtil(); Session session = ...

随机推荐

  1. python基础8之自定义模块、if __name__==__main__:解释

    一.自定义模块与使用 python模块说明:类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...

  2. 2017-07-01(ifconfig ifdown ifup netstat )

    ifconfig 可以查看IP地址与子网掩码 ifdown(禁用网卡) ifdown  网络设备名 ifdown eth0 ifup (启动网卡) ifup  网络设备名 ifup  eth0 net ...

  3. SerialChart串口示波器的成功调试

    2018-01-1601:29:06 深夜更新一波串口示波器! http://t.cn/RQMA3uq 心得体会 总之将数据输出设置为","分割的形式即可 重点注意事项!!!! m ...

  4. Linkin大话eclipse快捷键

    刚来这家公司的时候,作为菜鸟的我在帮别人调试代码的时候,有人说我快捷键使用的很熟悉. 呵呵,工欲善其事必先利其器,以下这些快捷键是最常用的也是要必须记住的. [Ctrl开头] Ctrl+1:快速修复 ...

  5. Part 1:请求与响应--Django从入门到精通系列教程

    该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. Python及Django学习QQ群:453 ...

  6. 《CSS动画实用技巧》课程笔记

    概述 这是我学习[CSS动画实用技巧][1]的课程笔记 常用动画属性--transition [常用动画属性--transition][2] .change img{ display:block; w ...

  7. java 网络编程之TCP通信和简单的文件上传功能

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  8. java IO(一):File类

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  9. MySQL中, 如何查询某一天, 某一月, 某一年的数据.

    今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天(包括昨天和今天的数据) SELECT * FROM 表名 WHERE TO_ ...

  10. awk中引用shell变量执行替换的脚本

    遇到问题: 现在有两个脚本,我想 将file1中的内容按file2来匹配 [root@154 home]# cat file1 3-1-1 POTV=1,POTA=0,POTP=2 1-4-76 PO ...