设为首页 加入收藏

TOP

第21天之dao模型
2014-11-24 07:31:20 来源: 作者: 【 】 浏览:7
Tags:天之 dao 模型
package com.jxnu.dao;

import java.io.Serializable;

public interface Dao {
	
	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 {

	List findAll();
}
package com.jxnu.dao;

import java.util.List;

import com.itheima.domain.Customer;

public interface CustomerDao extends Dao {
		List 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 implements Dao {

	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 implements UserDao {
	public UserDaoImpl(){
		super(User.class);
	}
	@Override
	public List 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 implements CustomerDao {
	
	public CustomerDaoImpl(){
		super(Customer.class);
	}
	public List findRecords(int startIndex, int pageSize) {
		// TODO Auto-generated method stub
		return null;
	}

}
以上就是dao的模板,简化了很多代码,很精简,不是代码多就好,而是要好,要清晰。
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇数据库设计之E-R模型转换成关系模.. 下一篇数据库模型学习

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Asus Armoury Crate (2025-12-26 02:52:33)
·WindowsFX (LinuxFX) (2025-12-26 02:52:30)
·[ Linux运维学习 ] (2025-12-26 02:52:27)
·HTTPS 详解一:附带 (2025-12-26 02:20:37)
·TCP/IP协议到底在讲 (2025-12-26 02:20:34)