- 浏览: 1974858 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (509)
- JavaEE (122)
- Oracle数据库 (29)
- JavaScript (37)
- SAP (5)
- MySql数据库 (7)
- JavaSE (4)
- Ajax (1)
- jQuery (13)
- SSH框架 (36)
- Web Service (10)
- JSF框架 (2)
- JBPM (0)
- ireport报表 (2)
- ibatis (5)
- Hibernate (31)
- JSP (11)
- Tomcat 服务器 (20)
- Other (19)
- JavaWeb (4)
- Maven (11)
- OSWorkFlow (10)
- HTML (13)
- Exception汇总 (7)
- SVN (2)
- 笑话 (1)
- JSTL (1)
- WebSphere Message Broker (13)
- ANT命令 (3)
- Liunx (12)
- Struts2 (26)
- Eclipse (6)
- DOS (3)
- Flex (11)
- WebSphere (1)
- 开发常用工具 (3)
- Junit (2)
- EJB (4)
- Struts1.2 (2)
- Jboss (1)
- Android (2)
- Java框架源码解析 (1)
- Spring (4)
- MyBatis (6)
- SpringMVC (4)
- Jetty (2)
- 数据库表设计 (1)
- SSO (4)
最新评论
-
贝塔ZQ:
也可以试试PageOffice插件,觉得更简单点
Jxl操作Excel设置背景、字体颜色、对齐方式、列的宽度 -
jia1208:
...
Could not publish server configuration for Tomcat v6.0 Server at localhost. -
u011274527:
赞
java.io.EOFException java.io.ObjectInputStream$PeekInputStream.readFully 错误 -
旭旭小牛啦:
怎么没哟了,继续赛
jQuery 选择器 -
wzw3919:
100行会报空指针
Java 解压缩zip文件
BaseDao 常用的方法,封装如下:
package pack.hibernate.basedao; import java.io.Serializable; import java.util.List; import org.hibernate.Hibernate; import org.hibernate.Query; import org.hibernate.Session; import pack.hibernate.sessionfactory.HibernateSessionFactory; /** * 基類; * @author zhouhaitao */ public class BaseDao { /** * 添加对象的方法; * @param obj */ public void add(Object obj){ HibernateSessionFactory.getSession().save(obj); } /** * 按主键查找; * */ public Object selectById(Class c,Serializable s){ Object obj=HibernateSessionFactory.getSession().load(c,s); return obj; } /** * 根据对象修改; * */ public void updateObj(Object obj){ HibernateSessionFactory.getSession().update(obj); } /** * 根据对象删除; * @param obj */ public void delete(Object obj){ HibernateSessionFactory.getSession().delete(obj); } /** * 根据主键删除; * @param c * @param s */ public void delete(Class c,Serializable s){ delete(selectById(c, s)); } /** * 查找全部; * @return */ public List selectAll(Class c){ Session session=HibernateSessionFactory.getSession(); List list=session.createQuery("From "+c.getName()).list(); return list; } /** * 分页查找; * @param hql * @param page * @param size * @param objects * @return */ public List pageQuery(String hql,Integer page,Integer size,Object...objects){ Session session=HibernateSessionFactory.getSession(); Query query=session.createQuery(hql); if(objects!=null){ for(int i=0;i<objects.length;i++){ query.setParameter(i,objects[i]); } } if(page!=null && size!=null){ //分页操作; query.setFirstResult((page-1)*size).setMaxResults(size); } List list=query.list(); return list; } /** * 按条件删除,修改; * @return */ public boolean executeUpdate(String hql,Object...objects){ Session session=HibernateSessionFactory.getSession(); Query query=session.createQuery(hql); if(objects!=null){ for(int i=0;i<objects.length;i++){ query.setParameter(i, objects[i]); } } int rows=query.executeUpdate(); return rows>0; } }
UserDao接口代码:
package pack.hibernate.idao; import java.util.List; import pack.hibernate.pojo.Users; /** * UsersDao接口; * @author zhouhaitao * */ public interface IUsersDao { /** * 对象的添加; * @param obj */ public abstract void add(Users obj); /** * 根据主键查找; * @param id * @return */ public abstract Object selectById(Long id); /** * 查询所有; * @return */ public abstract List selectAll(); /** * 根据主键删除; * @param id */ public abstract void delete(Long id); /** * 根据对象删除; * @param user */ public abstract void delete(Users user); /** * 根据对象更新; * @param user */ public abstract void update(Users user); /** * 分页查询; * @param hql * @param page * @param size * @param objects * @return */ public abstract List pageQuery(String hql, Integer page, Integer size, Object... objects); /** * 删除,修改; * @param hql * @param objects * @return */ public abstract boolean executeUpdate(String hql, Object... objects); }
UserDaoImpl实现UserDao接口,并且继承BaseDao,封装代码如下:
package pack.hibernate.daoimpl; import java.util.List; import pack.hibernate.basedao.BaseDao; import pack.hibernate.idao.IUsersDao; import pack.hibernate.pojo.Users; /** * UserDaoImpl的实现类; * @author zhouhaitao */ public class UserDaoImpl extends BaseDao implements IUsersDao{ /** * 添加对象; */ public void add(Users obj){ super.add(obj); } /** * 根据主键查找; */ public Object selectById(Long id){ Object obj=super.selectById(Users.class, id); return obj; } /** * 查询所有; */ public List selectAll(){ List list=super.selectAll(Users.class); return list; } /** * 根据主键删除; */ public void delete(Long id){ super.delete(Users.class, id); } /** * 删除对象; */ public void delete(Users user){ super.delete(user); } /** * 更新对象; */ public void update(Users user){ super.updateObj(user); } /** * 分页查询; */ public List pageQuery(String hql,Integer page,Integer size,Object...objects){ List list=super.pageQuery(hql, page, size, objects); return list; } /** *修改,删除操作; */ public boolean executeUpdate(String hql,Object...objects){ return super.executeUpdate(hql, objects); } }
一个简单的DAO就封装好了, 这个没有加入事务处理..则需要另外在创建一个代理类,去负责专门的事务处理工作。
- Dao层介绍.rar (55.8 KB)
- 下载次数: 94
评论
3 楼
xx599306170
2015-07-30
2 楼
i5suoi
2013-04-22
有没有个更新的版本,更稳定点的
1 楼
xj1990129
2012-12-24
我们在service层为了解耦 写的是userdao接口类型,虽然spring实际注入的是userdaoImpl,但是在程序没运行之前是不知道,那么在service的接口类型的userdao的 引用 怎么能用到basedao中的方法啊?
发表评论
-
解决Java服务器端插入数据到Mysql中乱码问题--简单几步轻松解决乱码问题
2015-11-13 17:52 2398当写入数据到mysql数据库中发生乱码时.请检查以下几个地 ... -
设计模式之-代理模式-Proxy
2015-04-28 21:24 845使用代理模式之前需要知道代理模式能做什么? 能有哪些好处以及 ... -
构建高并发、服务化、低耦合企业级脚骨:springmvc+mybatis+restfull+webservice+bootstrap html5
2015-04-14 01:17 85SpringMVC + Mybatis + SpringS ... -
教您搭建大型互联网企业架构:springmvc+mybatis+restful+webservice+quartz+bootstrap
2015-04-13 21:54 99SpringMVC + Mybatis + SpringS ... -
大型互联网服务集成平台:springmvc+mybatis+restful+webservice+quartz+bootstrap html5
2015-04-13 21:49 81SpringMVC + Mybatis + SpringSe ... -
大型互联网服务集成平台:springmvc+mybatis+restfull+JMS+webservice+bootstrap
2015-04-12 23:36 22SpringMVC + Mybatis + SpringS ... -
大型互联网服务集成平台:springmvc+mybatis+restfull+JMS+webservice+bootstrap
2015-04-12 23:33 83SpringMVC + Mybatis + SpringS ... -
Maven构建大型互联网架构springmvc+mybatis+Restfull+Webservice+Bootstrap
2015-04-12 23:28 71SpringMVC + Mybatis + SpringS ... -
maven构建高大上开源架构:springmvc+mybatis+rest+bootstrap html5
2015-04-12 23:25 23SpringMVC + Mybatis + SpringS ... -
手机App后台架构:Springmvc+SpringSecurity+mybatis+Rest+Quartz+Bootstrap Html5( Maven构建)
2015-04-09 01:39 76APP后台架构Maven构建,模拟大型互联网架构,支持高并发 ... -
maven构建springmvc+mybatis+rest+webservice+bootstrap html5(cms开源项目)
2015-04-09 01:21 85SpringMVC + Mybatis + SpringS ... -
Java正则表达式
2014-11-26 21:03 1199Java正则表达式: package pack.ja ... -
Cannot convert value of type [org.springframework.cache.ehcache.EhCacheCache
2014-11-10 20:03 6199错误信息: [org.springframework.be ... -
Collections工具类中的frequency方法统计单词出现的次数
2013-11-05 21:30 2779最近发现了一个Collections中有一个很好用的方法: ... -
Java 压缩Excel文件生成.zip文件
2013-05-08 22:22 7920首先创建文件目录,然后生成Excel文件到创建的目录下, ... -
Java 解压缩zip文件
2013-05-08 13:14 8298不借助于其他的第三方 ... -
Jxl操作Excel设置背景、字体颜色、对齐方式、列的宽度
2013-04-06 22:26 57513最近项目中需要用到导出Excel文件,以下是我写了一个通过j ... -
java获取字节的长度.
2012-05-17 22:00 6703我们经常要获取中文,数字,或者英文字符所占字节的长度,下面就列 ... -
StringBuffer-reverse()字符反转功能
2012-05-17 21:42 7061在书上看到一个这样的例子, 采用最简便的方式把一串字符串反转过 ... -
java 打开IE
2012-05-23 22:14 1270Runtime.getRuntime().exec(" ...
相关推荐
使用baseDao封装基本的增删改查的方法,包括分页查询等功能
spring4+hibernate4 整合,封装BaseDao增删改查以及分页,,支持jdk1.7,不支持jdk1.8,数据源使用c3p0
NULL 博文链接:https://zhaoshijie.iteye.com/blog/2003209
springMVC+Mybatis封装整合:整合搭建已经完成不再述,本框架特色主要针对Mybatis框架BaseDao,BaseService,BaseServiceImpl封装,有点贵,本人也是循序见进到这一步,花了将近一个月时间,之前发布版本可以不下载...
下面小编就为大家带来一篇基于JDBC封装的BaseDao(实例代码)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
手动实现BaseDao 自动写数据库操作
基于hibernate封装的BaseDao,有完整的增删改查,分页,执行hql sql 方法 约 20个方法,详情地址 https://blog.csdn.net/qq_41861261/article/details/85595872
//获得当前类型的带有泛型类型的父类 ParameterizedType ptClass = (ParameterizedType) this.getClass().getGenericSuperclass(); //获得运行期的泛型类型 clazz = (Class) ptClass.getActualTypeArguments()[0]...
精简封装Basedao.pdf
● 采用Mybatis和二次BaseDao封装完成持久层基本crud操作,提高系统开发效率; ● 通过AOP、自定义注解和Freemark的FTL语言实现前后权限的拦截; ● 使用拦截器过滤未登录用户请求 ; ● 借助Quartz 时钟调度框架...
能够实现一对多查询的basedao实现
NULL 博文链接:https://shizhijian870525.iteye.com/blog/1767343
简单的JDBC封装类
Android 数据库操作简单封装
mybatis basedao 是一款封装了基本增删改查的 简化开发操作
java中基于JDBC封装的BaseDao实例
最全的javaJDBC技术的BaseDao,相当于框架封装了,引用之后直接调用其中的方法传递参数以及sql语句就可以使用了。
JDBC技术帮助类,包含使用JDBC对数据库进行的增删改查操作的封装方法,适合初学者参考