java增删改的dao类方法

阅读: 评论:0

java增删改的dao类方法

java增删改的dao类方法

java ssh DAO层增删改父类

刘振兴

代码分享

2016年09月20日

27812

5条评论

增加代码的复用性,减少代码的书写量

接口

import java.util.List;

/**

* 通用Dao接口

* @author zhaoqx

*

*/

public interface IBaseDao {

/**

* 添加

*/

public void save(T entity);

/**

* 根据id删除

*/

public void delete(Long id);

/**

* 根据id修改

*/

public void update(T entity);

/**

* 根据id查询

*/

public T getById(Long id);

/**

* 一次查询多个对象

*/

public List getByIds(Long[] ids);

/**

* 查询所有

*/

public List findAll();

}

实现

import flect.ParameterizedType;

import flect.Type;

import java.util.List;

import javax.annotation.Resource;

import org.hibernate.Query;

import org.hibernate.Session;

import org.hibernate.SessionFactory;

import hibernate3.HibernateTemplate;

import cn.itcast.oa.domain.Book;

/**

* 通用Dao实现

* @author zhaoqx

*

* @param

*/

@SuppressWarnings("unchecked")

public class BaseDaoImpl implements IBaseDao {

@Resource

private SessionFactory sessionFactory;

private Class clazz;

public BaseDaoImpl() {

//获得实体类型

ParameterizedType genericSuperclass = (ParameterizedType) Class().getGenericSuperclass();//获得真正的父类

Type[] types = ActualTypeArguments();

clazz = (Class) types[0];

}

public void save(T entity) {

getSession().save(entity);

}

public void delete(Long id) {

getSession().delete(getSession().get(clazz, id));

}

public void update(T entity) {

getSession().update(entity);

}

public List findAll() {

String hql = "FROM " + SimpleName();

return getSession().createQuery(hql).list();

}

public T getById(Long id) {

return (T) getSession().get(clazz, id);

}

public List getByIds(Long[] ids) {

String hql = "FROM " + SimpleName() + " WHERE id in (:ids)";

Query query = getSession().createQuery(hql);

query.setParameterList("ids", ids);//一次赋值多个

return query.list();

}

public Session getSession(){

CurrentSession();

}

}

评论一下

赞助本站

版权申明:此文如未标注转载均为本站原创,自由转载请表明出处《IT技术宅》。

本文网址:.html

本文发布于:2024-01-28 17:02:38,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17064325618917.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:方法   java   dao
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23