>  기사  >  데이터 베이스  >  第21天之dao模型

第21天之dao模型

WBOY
WBOY원래의
2016-06-07 15:56:18956검색

package com.jxnu.dao;import java.io.Serializable;public interface DaoT {void add(T t);void update(T t);void delete(Serializable id);T findOne(Serializable id);} Serializable id参数使用了 多态思想 ,因为integer、String等等都实现了Serializab

package com.jxnu.dao;

import java.io.Serializable;

public interface Dao<T> {
	
	void add(T t);
	
	void update(T t);
	
	void delete(Serializable id);
	
	T findOne(Serializable id);

}

Serializable id参数使用了多态思想,因为integer、String等等都实现了Serializable接口,我们数据库存储的id类型是不定的。

package com.jxnu.dao;

import java.util.List;

import com.itheima.domain.User;

public interface UserDao extends Dao<User> {

	List<User> findAll();
}
package com.jxnu.dao;

import java.util.List;

import com.itheima.domain.Customer;

public interface CustomerDao extends Dao<Customer> {
		List<Customer> findRecords(int startIndex,int pageSize);
}

借助了hibernate中的一个jar包hibernate3.jar

package com.jxnu.dao.impl;

import java.io.Serializable;

import org.hibernate.Session;

import com.itheima.dao.Dao;

public class BaseDao<T> implements Dao<T> {

	private Session session = null;
	private Class clazz;
	public BaseDao(Class clazz)
	{
		this.clazz=clazz;
	}
	public void add(T t) {
		// TODO Auto-generated method stub
		session.save(t);
	}

	public void update(T t) {
		// TODO Auto-generated method stub
		session.update(t);
	}

	public void delete(Serializable id) {
		// TODO Auto-generated method stub
		
	}

	public T findOne(Serializable id) {
		// TODO Auto-generated method stub
		return (T) session.get(clazz, id);
	}

	
}
package com.jxnu.dao.impl;

import java.util.List;

import com.itheima.dao.UserDao;
import com.itheima.domain.User;

public class UserDaoImpl extends BaseDao<User> implements UserDao {
	public UserDaoImpl(){
		super(User.class);
	}
	@Override
	public List<User> findAll() {
		// TODO Auto-generated method stub
		return null;
	}

}
package com.jxnu.dao.impl;

import java.util.List;

import com.itheima.dao.CustomerDao;
import com.itheima.domain.Customer;

public class CustomerDaoImpl extends BaseDao<Customer> implements CustomerDao {
	
	public CustomerDaoImpl(){
		super(Customer.class);
	}
	public List<Customer> findRecords(int startIndex, int pageSize) {
		// TODO Auto-generated method stub
		return null;
	}

}
以上就是dao的模板,简化了很多代码,很精简,不是代码多就好,而是要好,要清晰。
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.