1. 写一个基础的接口和类来做基本的操作

/**
*
*/
package com.wolfgang.dao; import java.util.List; /**
* @author Administrator
*
*/
public interface IBaseDao {
public void save(Object obj);
public void update(Object obj);
public void delete(Object obj);
public <T> T findById(Class<T> className, int id);
public <T> List<T> getAll(Class<T> className);
}
/**
*
*/
package com.wolfgang.dao; import java.util.List; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; /**
* @author Administrator
*
*/
public class BaseDaoImp extends HibernateDaoSupport implements IBaseDao { public Object get(Integer id) {
return getHibernateTemplate().get(Object.class, id);
} /*
* (non-Javadoc)
*
* @see com.wolfgang.dao.IBaseDao#save(java.lang.Object)
*/
@Override
public void save(Object obj) {
getHibernateTemplate().save(obj);
} /* (non-Javadoc)
* @see com.wolfgang.dao.IBaseDao#update(java.lang.Object)
*/
@Override
public void update(Object obj) {
getHibernateTemplate().update(obj);
} /* (non-Javadoc)
* @see com.wolfgang.dao.IBaseDao#delete(java.lang.Object)
*/
@Override
public void delete(Object obj) {
getHibernateTemplate().delete(obj);
} /* (non-Javadoc)
* @see com.wolfgang.dao.IBaseDao#findById(int)
*/
@Override
public <T> T findById(Class<T> className, int id) {
return (T)getHibernateTemplate().get(className, id);
} /* (non-Javadoc)
* @see com.wolfgang.dao.IBaseDao#getAll(java.lang.Class)
*/
@Override
public <T> List<T> getAll(Class<T> className) {
return getHibernateTemplate().loadAll(className);
} }

2. 具体的接口和类都继承基础的类和接口

/**
*
*/
package com.wolfgang.dao; /**
* @author Administrator
*
*/
public interface IPartyDao extends IBaseDao{ }
package com.wolfgang.dao;

import org.springframework.stereotype.Repository;

@Repository("partyDao")
public class PartyDaoImpl extends BaseDaoImp implements IPartyDao
{ }

Dao 处理的更多相关文章

  1. java中Action层、Service层和Dao层的功能区分

    Action/Service/DAO简介: Action是管理业务(Service)调度和管理跳转的. Service是管理具体的功能的. Action只负责管理,而Service负责实施. DAO只 ...

  2. DAO层,Service层,Controller层、View层 的分工合作

    DAO层:DAO层主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,DAO层的设计首先是设计DAO的接口,然后在Spring的配置文件中定义此接口的实现类,然后就可在模块中调用此接口 ...

  3. 使用MyBatis Generator自动创建代码(dao,mapping,poji)

    连接的数据库为SQL server2008,所以需要的文件为sqljdbc4.jar 使用的lib库有: 在lib库目录下新建一个src文件夹用来存放生成的文件,然后新建generatorConfig ...

  4. DAO设计模式

    DAO设计模式 DAO设计模式简介: DAO设计模式可以减少代码量,增强程序的可移植性,提高代码的可读性. DAO(数据库操作对象)设计模式是 JavaEE 数据层的操作.主要由五部分组成: 1.数据 ...

  5. mybatis generator 自动生成dao层映射代码

    资源: doc url :http://www.mybatis.org/generator/ download:https://github.com/mybatis/generator/release ...

  6. 010商城项目:商品类目的选择——Dao,Service.Action层的分析

    我们现在开始写商品类选择这个功能: 先看效果: 当我们点击"新增商品"---->"选择目录"然后从数据库中查出来数据并显示了. 我们分析数据库的那张表: ...

  7. Dao跨事务调用实现转账功能

    1.首先在数据库当中创建数据库,并且创建它的 实现类 package com.beiwo.epet.entity; public class Account { private int id; pri ...

  8. mybatis generator.xml 配置 自动生成model,dao,mapping

    generator.xml文件: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE gener ...

  9. 分享公司DAO层动态SQL的一些封装

    主题 公司在DAO层使用的框架是Spring Data JPA,这个框架很好用,基本不需要自己写SQL或者HQL就能完成大部分事情,但是偶尔有一些复杂的查询还是需要自己手写原生的Native SQL或 ...

  10. Hibernate简易原生DAO的实现

    写在最前: 初学Hibernate,在尝试把JDBC项目移植到Hibernate的过程中,碰到了不少的麻烦,最让人心烦意乱的自然是SQL语句改动造成的代码混乱.其实不难,网上的解决方案有很多, 不过. ...

随机推荐

  1. 关于GCC的理解——On the understanding of the GCC

    GCC 有超过100个的编译选项可用. 这些选项中的许多你可能永远都不会用到, 但一些主要的选项将会频繁用到. 很多的 GCC 选项包括一个以上的字符. 因此你必须为每个选项指定各自的连字符, 并且就 ...

  2. 树莓派入手(烧写系统,调整分区,配置Java环境,串口GPS配置) 分类: Raspberry Pi 2015-04-09 21:13 145人阅读 评论(0) 收藏

    原来的tf卡无故启动不起来,检查发现其文件系统分区使用率为0%. 数据全部丢失!!!!! 血的教训告诉我们备份文件系统的重要性,一切需要重头来.... 烧录系统 安装系统有两种方式, NOOBS工具安 ...

  3. docker 实战---部署tomcat\weblogic集群 (二)

    安装tomcat镜像 准备好须要的jdk tomcat等软件放到home文件夹以下 启动一个虚拟机 docker run -t -i -v /home:/opt/data  --name mk_tom ...

  4. Linux之TCPIP内核参数优化

    /proc/sys/net目录 所有的TCP/IP参数都位于/proc/sys/net目录下(请注意,对/proc/sys/net目录下内容的修改都是临时的,任何修改在系统重启后都会丢失),例如下面这 ...

  5. php mysqli注意问题

    今天写了这个一段代码 function ip_get_method($action , $device){ if($action != 'search'){ request_die(false,'un ...

  6. Android(java)学习笔记200:Android中View动画之 XML实现 和 代码实现

    1.Animation 动画类型 Android的animation由四种类型组成: XML中: alph 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动 ...

  7. oracle添加数据时主键自动增长

    CREATE TABLE STUDENT( --创建学生表  ID NUMBER(10) PRIMARY KEY,   --主键ID  SNAME VARCHAR2(20), ); 此时给学生表添加数 ...

  8. 11.1 morning

    完美的序列(sequence)Time Limit:1000ms Memory Limit:64MB题目描述LYK 认为一个完美的序列要满足这样的条件:对于任意两个位置上的数都不相同.然而并不是所有的 ...

  9. C#语法糖之第一篇:自动属性&隐式类型

    今天给大家分享一下C#语法糖的简单的两个知识点吧. 自动属性:在 C# 4.0 和更高版本中,当属性的访问器中不需要其他逻辑时,自动实现的属性可使属性声明更加简洁. 客户端代码还可通过这些属性创建对象 ...

  10. c# 访问修饰符的访问权限

    1. 访问修饰符. 指定声明的类型和类型成员的可访问性. (1) public:是类型和类型成员的访问修饰符.公共访问是允许的最高访问级别.对访问公共成员没有限制. (2) private:是一个成员 ...