package com.imooc.model;

import java.util.List;
import java.util.Map; import org.hibernate.Query;
import org.hibernate.Session;
import org.junit.After;
import org.junit.Before;
import org.junit.Test; import com.imooc.util.HibernateSessionFactory; public class SellerTest {
private Session session = null; @Test
public void testSelectClauseSelf(){
String hql = " select new Seller(s.name,s.tel,s.address) from Seller s ";
Query query = session.createQuery(hql);
List<Seller> sellers = query.list(); for(Seller seller : sellers){
System.out.println("name: "+seller.getName());
System.out.println("tel:"+seller.getTel());
System.out.println("address:"+seller.getAddress());
}
} @Test
public void testSelectClauseMap(){
String hql = " select new map(s.name,s.tel,s.address) from Seller s ";
Query query =session.createQuery(hql); List<Map> maps = query.list();
for(Map map : maps){
System.out.println("name:"+map.get("0"));
System.out.println("tel:"+map.get("1"));
System.out.println("address:"+map.get("2"));
}
} @Test
public void testSelectClauseList(){
String hql = " select new list(s.name,s.tel,s.address) from Seller s "; Query query = session.createQuery(hql);
List<List> lists = query.list(); for(List list : lists){
System.out.println("name : "+list.get(0));
System.out.println("tel:"+list.get(1));
System.out.println("address:"+list.get(2));
}
} /*
* 1.name 2.tel 3.address 4.star
*/
@Test
public void testSelectClauseObjectArray(){
String hql = " select s.name from Seller s "; Query query = session.createQuery(hql); List<Object> list = query.list(); for(Object obj : list){
System.out.println("name:"+obj);
}
}
/**
* new一个新对象
* @Description:
*/
@Test
public void testSelectMap(){
String hql="select new map(s.name as name,s.tel as tel) from Seller s";
Query query = session.createQuery(hql);
List<Map<String,Object>> list = query.list();
for (Map<String, Object> map : list) {
System.out.println(map.get("name")+" "+map.get("tel"));
}
}
/**
* 测试from字句
* @Description:
*/
@Test
public void testFromClause(){
String hql = " from Seller s "; Query query = session.createQuery(hql); List<Seller> sellers = query.list();
for(Seller seller : sellers){
System.out.println("name:"+seller.getName());
}
}
/**
* 使用list进行传递里面的参数
* @Description:
*/
@Test
public void testListFromClause(){
String hql="select new list(s.name,s.tel) from Seller s";
Query query=session.createQuery(hql);
List<List<Object>> list=query.list();
for (List<Object> list2 : list) {
for (Object object : list2) {
System.out.println(object);
}
}
}
/**
* //当这里的值只能是一个的时候在List的集合中应该设置为Object
* @Description:创建的是distinct 关键字的作用
* distinct这个关键字加入到里面中可以去除重复的内容
*/
@Test
public void testListFromDistict(){
String hql="select distinct c.sex from Customer as c";
Query query=session.createQuery(hql);
List<Object> list=query.list();
for (Object object : list) {
System.out.println(object);
}
}
@Before
public void setUp() throws Exception {
session = HibernateSessionFactory.getCurrentSession();
} @After
public void tearDown() throws Exception {
session.close();
} }

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. 修真院java后端工程师学习课程--任务1(day four)

    今天学习的是spring框架,内容主要有: spring的概念,主要是做什么的: Spring是一个基于IOC和AOP的结构J2EE系统的框架 IOC 反转控制 是Spring的基础,Inversio ...

  2. springmvc +mybatis 配置多数据源

    1.数据源配置: jdbc_multiple.properties: # MySQL #======================================================== ...

  3. WEB安全_csrf攻击

    什么是xss跨站攻击? 正常访问服务器A,用户信任并在服务器A上登录操作,服务器A保存着用户的session数据,这时用户并没有退出服务器A的系统,然后访问危险服务器B,本来是用户请求服务器返回数据, ...

  4. java中String的.trim()方法

    该方法去除两边的空白符 原理: 看看源码实现 public String trim() { int len = value.length; ; char[] val = value; /* avoid ...

  5. TinyXML 的简单介绍以及使用

    先说几句重点: 1,tinyxml 生成或解析XML非常好用 2,tinyxml 利用DOM(文档对象模型)操作XML,根节点与各个子节点相当于形成一棵树 3,只要你了解tinyxml的用法,可以只n ...

  6. secureCRT sftp使用

    sftp-- help 可用命令: cd 路径 更改远程目录到"路径" lcd 路径 更改本地目录到"路径" chgrp group path 将文件" ...

  7. curl与grep的使用

    [root@nhserver1 ~]# curl -s www.163.com | grep hot_pop_js.js | sed 's/www.[[:digit:]]*.com/111/'    ...

  8. redis数据类型-字符串类型

    Redis数据类型 字符串类型 字符串类型是Redis中最基本的数据类型,它能存储任何形式的字符串,包括二进制数据.你可以用其存储用户的邮箱.JSON化的对象甚至是一张图片.一个字符串类型键允许存储的 ...

  9. [DeeplearningAI笔记]ML strategy_2_2训练和开发/测试数据集不匹配问题

    机器学习策略-不匹配的训练和开发/测试数据 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.4在不同分布上训练和测试数据 在深度学习时代,越来越多的团队使用和开发集/测试集不同分布的数据来 ...

  10. spring boot + vue + element-ui全栈开发入门——windows开发环境

     一.node.js开发环境 windows系统,去网站https://nodejs.org/en/download/,下载对应的安装程序,并安装Windows Installer (.msi) 接下 ...