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. BSA Network Shell系列-nlogin命令

    nlogin 1 说明 nlogin 是一种通过RSCD Agent的通信的安全远程登录,使用和NSH工具相同的加密协议.可以作为telnet.rlogin或者ssh的替代工具(假如这些端口或协议禁用 ...

  2. Rhel-Server 5.5 安装ORACLE10

    VMWARE + REDHAT + ORA10 先说一下环境,操作系统为Microsoft Windows Server 2003,安装的是虚拟机VMware Workstation Version ...

  3. Tomcat xxx unbound

    从别的地方import的代码 .出现apache unbound 第一步:选中项目右键Build Path->Configure Build Path-->选中Tomcat 7.0 unb ...

  4. android新建项目

    MinMum Required SDK :最低支持的Android api的版本,你的应用不能在低于这个版本的手机上面运行 Target SDK:你的应用最高支持android api版本 Compi ...

  5. 新版elasticsearch的插件安装

    安装 yum localinstall elasticsearch-6.1.1.rpm -y mkdir -p /elk/{data,logs} && chown -R elastic ...

  6. Python随笔,day1

    #python中不存在单个字符的运算,只有字符串函数 >>> s="www.google.com" >>> s 'www.google.com' ...

  7. centos7添加图像化桌面并设置中文

    我前面是使用的centos6.最近才最小化安装了一个centos7.4(最小化安装有很多命令都没有,所以不建议这样干).完了装了图形化界面和设置中文,感觉和centos6有些区别,所以记录一下过程. ...

  8. 6.Ray-消息订阅器编写

    消息订阅器: Ray是基于Event Sourcing设计的ES/Actor框架,消息发布后需要订阅处理,订阅器主要有以下两类: CoreHandler消息订阅器=RabbitSub+SubHandl ...

  9. 是否编码输出html字符

    template.config(name, value)方法用于更改引擎的默认配置. 其中字段escape,类型为boolean,默认为true. 首先,我们不修改配置信息输出一段带有html标签的字 ...

  10. mysql 删匿名帐户

    mysql默认安装,带有匿名帐户 删除它很简单 登录进入msyql并执行以下三行语句: use mysql; delete from user where user=''; flush privile ...