Java --- Dao设计模式 --- 泛型
2017-12-14 16:52
417 查看
一、Dao设计模式
Dao设计模式是属于数据层的操作,使用Dao设计模式可以大量简化代码,增强程序的可移植性。
二、BaseDao接口
三、CustomerDao接口
四、BaseDao接口实现类
五、CustomerDao接口实现类
六、Test
Dao设计模式是属于数据层的操作,使用Dao设计模式可以大量简化代码,增强程序的可移植性。
二、BaseDao接口
import java.io.Serializable; public interface BaseDao<T> { void add(T t); void update(T t); void deleteById(Serializable id); // String Integer 更加通用。联合主键 T findById(Serializable id); }
三、CustomerDao接口
public interface CustomerDao extends BaseDao<Customer>{ List<Customer> findAll(); }
四、BaseDao接口实现类
//借助Hibernate框架 public class BaseDaoImpl<T> implements Dao<T> { //核心类。Connection //ORM:通过操作类,就相当于操作了数据库 //比如:操作Customer类,就相当于存取Customer表(Hibernate来做) //操作Student类,就相当于存取Student表(Hibernate来做) //private Session session; private Class clazz;//实体类型,目的就是让Hibernate知道从哪个表中查数据 public BaseDaoImpl(){ //给成员变量clazz赋值,让BaseDao知道具体的操作的是什么类型的 Type type = this.getClass().getGenericSuperclass();//获取当前对象的带有泛型类型的父类 BaseDaoImpl<Customer> ParameterizedType ptype = (ParameterizedType)type; clazz = (Class)ptype.getActualTypeArguments()[0]; } public void add(T t) { //session.save(t); } public void update(T t) { //session.update(t); } public void deleteById(Serializable id) { //T t = findById(id); //session.delete(t); } public T findById(Serializable id) { System.out.println(clazz.getName()); //return (T)session.get(clazz, id);//第一个参数:操作的类的类型。第二个参数,主键 return null; } }
五、CustomerDao接口实现类
public class CustomerDaoImpl extends BaseDao<Customer> implements CustomerDao { public List<Customer> findAll() { return null; } }
六、Test
public class Test { public static void main(String[] args) { CustomerDao customerDao = new CustomerDaoImpl(); customerDao.add(null); //... customerDao.findById(1); } }
相关文章推荐
- 基于泛型DAO的Facade设计模式. - Hibernate - Java
- java的设计模式——DAO(Date Access Object)133
- java dao 设计模式
- Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之09.JDBC DAO设计模式
- 基于泛型DAO的设计模式
- JavaWeb 中 DAO(Data Access Objects) 设计模式
- 05_Java基础_泛型+单例设计模式+多线程
- java DAO设计模式
- java中的DAO设计模式
- Java设计模式-DAO( Data Access Object)
- JAVA入门,DAO设计模式
- Java -- JDBC_DAO 设计模式
- JavaBean中DAO设计模式介绍 .
- java中的DAO设计模式
- Java开发———DAO设计模式及优化
- java设计模式进阶_dao
- jsp+javaBean+jdb 实现DAO设计模式
- Java Dao工厂设计模式
- Java学习之DAO设计模式
- Java设计模式之迭代器模式包括泛型