Hibernate -- Dao层 -- CURD -- 随记
根据Where 参数 查询记录总数
// 1.拼接SQL语句
// 2.获取Session(hibernateTemplate.getSessionFactory().getCurrentSession()),调用CreateQuery获取Query
// 3.调用query.uniqueResult()获取返回值
@Override
public int getPageSize(String orgName, String evaPeriodCode, String evaDate) {
StringBuffer sql=new StringBuffer("select count(*) from EvaVirResult where 1=1 ");
if(StringUtils.isNotEmpty(orgName)){
sql.append(" and ORG_NAME ='").append(orgName).append("'");
}
if(StringUtils.isNotEmpty(evaPeriodCode)){
sql.append(" and EVA_PERIOD_CODE ='").append(evaPeriodCode).append("'");
}
if(StringUtils.isNotEmpty(evaDate)){
sql.append(" and EVA_DATE LIKE '%").append(evaDate).append("%'");
}
Query query=super.getCurrentSession().createQuery(sql.toString());
Object total=query.uniqueResult();
return !com.ciic.system.utils.string.StringUtils.isValid(total)?Integer.parseInt(total.toString()):0;
}
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
分页查询符合条件的虚拟标杆
// 1.hibernate查询对象
// 2.添加分页条件
@Override
public List<EvaVirResult> getVirtualModels(String orgName, String evaPeriodCode, String evaDate, int start, int pageSize) {
Criteria criteria = getCurrentSession().createCriteria(EvaVirResult.class);
if(!StringUtils.isEmpty(orgName)) {
criteria.add(Restrictions.eq("orgName", orgName));
}
if(!StringUtils.isEmpty(evaPeriodCode)){
criteria.add(Restrictions.eq("evaPeriodCode",evaPeriodCode));
}
if(!StringUtils.isEmpty(evaDate)){
criteria.add(Restrictions.like("evaDate","%"+evaDate+"%"));
}
criteria.setFirstResult(start*pageSize);
criteria.setMaxResults(pageSize);
return criteria.list();
}
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
啦啦啦
啦啦啦
Hibernate -- Dao层 -- CURD -- 随记的更多相关文章
- sping整合hibernate之二:dao层开发
在上一篇日志中将hibernate的会话工厂sessionFactory注入到了spring的容器中,但这样还不够,因为hibernate的增删改查是要使用事务机制的, 所以还要在spring中配置 ...
- hibernate+pageBean实现分页dao层功能代码
今天闲来无事,摆弄了一下分页,突然发现很多代码长时间不用就生梳了,虽然有些基础,但没有一篇整合的.这里还是简单示例,主要是以后自己翻着看不用百度找啊找找不到一篇想要的 1.PageBean实体类,一页 ...
- SSH框架整合中Hibernate实现Dao层常用结构
一.疑惑 一直以来,我在使用SSH框架的时候经常会发现后者有疑虑到底使用hibernate的那种方法或者如何配置hibernate来操作数据库,经过 一段时间的学习下面我来总结一下,常用的dao层配置 ...
- Hibernate -- 项目结构模型改造, 加 Utils 和 Dao层
示例代码: App.java 模拟客户端 /** * 模拟客户端 */ public class App { @Test public void saveCustomer(){ CustomerDao ...
- SpringMVC + Hibernate + MySQL 的简易网页搭建(Dao层 实现篇)
首先在搭建一个网站后台前,需要明确出一个合理的网页搭建的结构框架,即从DB ==> Dao层 ==>Service层 ==>Control层 ==>View层(该层严格意义 ...
- SSH 项目中 用Hibernate底层 简单的封装DAO层
废话不多少了,主要是使用hibernate的查询方法,自己封装了DAO层,供service来方便使用. 首先:必须要继承的 public class CommonDao extends Hiberna ...
- Hibernate的Dao层通用设计
hibernate作为一款优秀的数据库持久化框架,在现实的运用中是非常广泛的.它的出现让不熟悉sql语法的程序员能开发数据库连接层成为一种可能,但是理想与现实永远是有差距的.开发过程中如果只使用hql ...
- Java中Action层、Service层、Modle层和Dao层的功能区分
一.Java中Action层.Service层.Modle层和Dao层的功能区分: 首先,这是现在最基本的分层方式,结合了SSH架构. modle层就是对应的数据库表的实体类.(即domain) Da ...
- SSH框架中POJO层, Dao层,Service层, Action层的功能理解
pojo层就是对应的数据库表的实体类(如User类). dao层,一般可以再分为***dao接口和***daoImpl实现类,如userDao接口和userDaoImpl实现类,接口负责定义数据库cu ...
随机推荐
- ssdb安装注意事项
官网的安装教程依赖于autoconf,需要提前安装.
- FT232H FT2232H FT4232H
The FT232H is the single channel version, the FT2232H is the dual-channel, and there is also anFT423 ...
- Iowait的成因、对系统影响及对策--systemtap
http://blog.csdn.net/yunlianglinfeng/article/details/51698607
- 体验jQuery和AngularJS的不同点以及AngularJS的迷人之处
本篇通过jQuery和Angular两种方式来实现同一个实例,从而体验两者的不同点以及AngularJS的迷人之处. 首先当然需要引用jquery.js和angular.js文件. ■ 使用jQuer ...
- Tomcat服务器配置https双向认证(使用keytool生成证书)
一,HTTPS原理 1,HTTP.HTTPS.SSL.TLS介绍与相互关系 (1)HTTP:平时浏览网页时候使用的一种协议.HTTP协议传输的数据都是未加密的(明文),因此使用HTTP协议传输隐私 ...
- 5、Python文件类型
Python文件类型 源代码 Python源代码的文件以"py"为扩展名,由Python程序解释,不需要编译 字节代码 Python源文件经编译后生成的扩展名为"pyc& ...
- JavaScript变量作用域(Variable Scope)和闭包(closure)的基础知识
在这篇文章中,我会试图讲解JavaScript变量的作用域和声明提升,以及许多隐隐藏的陷阱.为了确保我们不会碰到不可预见的问题,我们必须真正理解这些概念. 基本定义 作用范围是个“木桶”,里面装着变量 ...
- chrome 浏览器的插件权限有多大?
转自:https://segmentfault.com/q/1010000003777353 1)Chrome插件本身有机制控制,不会无限制的开放很多权限给你2)页面的DOM元素时可以操作的,Chro ...
- .Net学习资料
1.博客系列文章 (1)设计模式 吕震宇 设计模式 张逸:晴窗笔记 Design & Pattern 梦幻Dot Net .Net设计模式 李会军 .NET设计模式系列文章 ...
- fiddler抓包参数乱码的解决方法
解决方法: 1.win+R 2.打开注册表编辑器:输入regedit +回车+是 3.HKEY_CURRENT_USER\Software\Microsoft\Fiddler2 4.右键新建,选字符串 ...