Hibernate常用方法之_查询
1、使用session的get方法
public User getUser(int id){
Session session = null;
User user = null;
try {
session = HibernateUtils.getSession();
/*根据主键获取一条记录*/
user = (User) session.get(User.class,id);
}finally {
if (session != null){
session.close();
}
}
return user;
}
2、使用HQL语言查询 Query
public User getUserBynName(String name){
User user = null;
Session session = null;
try {
session = HibernateUtils.getSession();
/*这里查的是User对象,不是user表,支持多态*/
String hql = " FROM User as user WHERE user.name = :name ";
Query query = session.createQuery(hql);
query.setString("name",name);
/*只返回一条记录,否则报错*/
user = (User) query.uniqueResult();
}finally {
if (session != null){
session.close();
}
}
return user;
}
public List<User> getUsersByName(String name){
List<User> users = null;
Session session = null;
try {
session = HibernateUtils.getSession();
/*这里查的是User对象,不是user表,支持多态*/
String hql = " FROM User as user WHERE user.name LIKE :name ";
Query query = session.createQuery(hql);
query.setString("name",name+"%");
query.setFirstResult(10);
query.setMaxResults(5);
users = query.list();
}finally {
if (session != null){
session.close();
}
}
return users;
}
3、使用条件查询 Criteria
public User getUserByNameCri(String name){
Session session = null;
User user = null;
try {
session = HibernateUtils.getSession();
/*条件查询*/
Criteria criteria = session.createCriteria(User.class);
/*添加约束条件*/
criteria.add(Restrictions.eq("name",name));
user = (User) criteria.uniqueResult();
}finally {
if (session != null){
session.close();
}
}
return user;
}
Hibernate常用方法之_查询的更多相关文章
- Hibernate常用方法之_删除
1.使用session的delete方法 public void deleteUser(User user){ Session session = null; Transaction transact ...
- Hibernate常用方法之_修改
1.使用session的saveOrUpdate方法 public void updateUser(User user){ Session session = null; Transaction tr ...
- Hibernate常用方法之_插入
1.使用session的save方法进行插入 public void saveUser(User user){ Session session = null; Transaction transact ...
- Hibernate框架笔记04HQL_QBC查询详解_抓取策略优化机制
目录 1. Hibernate的查询方式 1.1 方式一:OID查询 1.2 方式二:对象导航查询 1.3 方式三:HQL方式 1.4 方式四:QBC查询 1.5 方式五:SQL查询 2. 环境搭建 ...
- hibernate将本地SQL查询结果封装成对象
hibernate将本地SQL查询结果封装成对象 不知道大家有没有碰过这种情况,迫于很多情况只能用native SQL来查询(如:复杂统计等),然而使用native查询后,结果会被放到object里, ...
- [转载]Hibernate如何提升数据库查询的性能
目录(?)[-] 数据库查询性能的提升也是涉及到开发中的各个阶段在开发中选用正确的查询方法无疑是最基础也最简单的 SQL语句的优化 使用正确的查询方法 使用正确的抓取策略 Hibernate的性能优化 ...
- hibernate使用原生SQL查询返回结果集的处理
今天没事的时候,看到公司框架里有一个用原生SQL写的函数,说实在以前自己也干过这事,但好久都没有用,都忘得差不多了,现在基本都是用的hql语句来查询结果.hibernate中使用createSQLQu ...
- Hibernate 插入,修改,删除,查询语句
/* *具体操作hibernate的类 *增加,删除,修改,按ID查询,模糊查询,查询全部 **/ public class PersonOperate { //在hibernate中所有操作都是由S ...
- 13.hibernate的native sql查询(转自xiaoluo501395377)
hibernate的native sql查询 在我们的hibernate中,除了我们常用的HQL查询以外,还非常好的支持了原生的SQL查询,那么我们既然使用了hibernate,为什么不都采用hi ...
随机推荐
- ABAP术语-Accounting Document
Accounting Document 原文:http://www.cnblogs.com/qiangsheng/archive/2007/12/12/991731.html Accounting d ...
- django项目创建requirements.txt文件
workon+虚拟环境名 然后输入 pip freeze > requirements.txt
- Symfony FOSUserBundle用户登录验证
symfony是一个由组件构成的框架,登录验证的也是由一些组件构成,下面就介绍一下FOSUserBundle的使用. 以symfony 3.3为例, 首先我们需要先安装一下FOSUserBundle. ...
- 虚拟机服务没有启动的 CentOS 和 Ubuntu 无法上网
测试用 vmware 安装 OSX,安装补丁时要停止 vmware 的服务.如下图: 结果忘记启动了,导致 centos\ubuntu 等所有虚拟机都无法上网...所有的 启动这四个服务后,一切恢复正 ...
- PLC编码规范
PC在编码规范方面比PLC要好很多.既然它们都是编程语言,那么PC方面的规范是否可以用与PLC呢?答案是肯定的,但需要作取舍.下面规范中的大部分可以用于一般PLC,其中有些只是针对西门子博途,使用时需 ...
- Python3爬虫(十三) 爬取动态页之Selenium
Infi-chu: http://www.cnblogs.com/Infi-chu/ Python提供了很多模拟浏览器运行的库,比如:Selenium.Splash等 1.常用的引用 from sel ...
- 3 python3 编码解码问题 upd接受数据
1.python3下的中文乱码:send_data.encode("utf-8") from socket import * udp_socket = socket(AF_INET ...
- Django信号的使用
https://www.cnblogs.com/renpingsheng/p/7566647.html
- qt 编译unresolved external symbol的错误解决
题外问题:.rc文件报错,里面引用的.h文件打不开. 方法:rc文件移除,然后重新添加就可以: unresolved external symbol的原因: 1.没有添加编译生成的moc文件,添加对应 ...
- 「暑期训练」「基础DP」 Piggy-Bank (HDU-1114)
题意与分析 完全背包问题. 算法背包九讲里面都有提到过,我自己再说下对完全背包的理解. 为什么01背包中遍历状态从VV到00?考虑一下基本方程$dp[i][j]=max(dp[i-1][j-w[i]] ...