hql语句中的select字句和from 字句
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 字句的更多相关文章
- HQL语句中数据类型转换,及hibernate中createQuery执行hql报错
一.HQL语句中数据类型转换: 我们需要从数据库中取出序号最大的记录,想到的方法就是使用order by子句进行排序(desc倒序),然后取出第一个对象,可是当初设计数据库时(我们是在原来的数据库的基 ...
- Hibernate的HQL语句中定位参数和具名参数传参
HQL查询: 1.有关hql查询语句中的问号参数形式,如果出现有多个问号,这对后面设置参数就比较麻烦. 如:from User user where user.name=? and user.age= ...
- SQL语句中的select高级用法
#转载请联系 为了更好的了解下面的知识点,我们先创建两张表并插入数据. # 学生表 +----+-----------+------+--------+--------+--------+------ ...
- 怎样在hibernate的HQL语句中使用mysql 的自定义函数?
问题:怎样在hibernate中使用mysql的函数? 1.hibernate支持原生态的sql语句查询,使用session.createSQLQuery()创建查询对象: 2.怎样在hql中使用my ...
- Insert插入语句中带有select语句
我们有时候在写Insert语句的时候会遇到values里面的个别列的值需要从别的表中查询获取,这时候SQL语句需要使用向表中插入多条数据的写法: INSERT INTO LoginRecordInfo ...
- hibernate hql 语句中 in 的用法
例子描述查询一些班级中的学生 /** * * @param city * @return */ public List<Student> studentList(final Integer ...
- HQL语句中的join fetch
from Paper as paper join fetch paper.authors as authors where authors.id='xxxx'; from Paper as paper ...
- Hibernate中HQL语句中list与iterate区别
session.createQuery("from Classes").list() session.createQuery("from Classes").i ...
- hql语句中的分页显示
public List<User> getUserList(int pageInfo) { DBUtil dbutil = new DBUtil(); Session session = ...
随机推荐
- laravel5.5 when()的用法
当你在使用where语句有前提条件时,比如某值为1的时候才执行where子句,否则不执行,这个时候,laravel5.5新出了一个简便方法when($arg,fun1[,fun2]). 具体用法如下: ...
- 5分钟编写运行一个RChain合约
今天介绍如何编写和测试一个RChain智能合约,Rholang的语法介绍在https://developer.rchain.coop/tutorial 1.安装docker 这个自己百度一下,安装都是 ...
- NodeJs实现他人项目实例
1.简单实例,参考 https://github.com/alsotang/node-lessons/tree/master/lesson2 2.express一个新项目 ,但出现警告 发现少了nod ...
- Node.js在任意目录下使用express命令‘不是内部或外部命令’解决方法
1.一开始我只能在nodejs全局目录下使用express命令建一个新的项目,建在其他任意一个目录命令行都会提示"不是内部或外部命令",导致目录会乱,目录如下. 2.尝试了一会,发 ...
- MySQL--pt-osc工具学习
##=====================================================##pt-osc之工作流程:1.检查更改表是否有主键或唯一索引,是否有触发器2.检查修改表 ...
- Failed to get D-Bus connection: Operation not permitted解决
docker中安装centos无法使用systemctl命令管理进程,报以下错误: Failed to get D-Bus connection: Operation not permitted 原因 ...
- Nginx+Keepalived负载均衡高可用
Nginx+Keepalived负载均衡高可用方案: Nginx 使用平台:unix.linux.windows. 功能: A.www web服务 http 80 b.负载均衡(方向代理proxy) ...
- Tomcat8远程访问manager,host-manager被拒绝403
Tomcat部署在服务器之后在服务器本地访问manager和host-manager成功(即127.0.0.1:8080或者localhost:8080),但使用测试主机访问tomcat的manage ...
- 浅尝一个排程引擎Optaplanner,前序。
当码农有10多年了,由建筑行业软件,各种MIS,通用物流定制平台,CCTV客户端(是闭路电视,不是央视喔)啥都做过.最后小试一下创业,不过那都是闹着玩的,不到一年就回到码农的队列,重拾搬砖的行当.近些 ...
- 将Session放入Redis
默认情况下,我们的PHP是以文件的形式保存Session数据,所以,每次读写会话信息,就需要去访问硬盘. 为了解决会话信息夸域名问题,即为了实现同一时刻只能一个地方登录,同时也解决读写会话信息必须访问 ...