📄 commonhibernatedao.java
字号:
package zyyt.common;
//import java.util.List;
//import java.util.Date;
//import org.hibernate.Query;
import java.io.Serializable;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.beanutils.BasicDynaBean;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
/**
* 通用的单表访问的Hibernate访问DAO类
* 其中实现了通用的update,delete,add三个方法
* 其他方法在各个数据表对应的DAO类中单独实现
* @author liujunsong
*
*/
public class CommonHibernateDAO {
// 修改某一张表,通过Hibernate来实现
//输入对象必须是一个合法的Hibernate映射类对象
public void update(Object obj) throws Exception {
Session mysession = HibernateSessionFactory.getSession();
Transaction tx = mysession.beginTransaction();
mysession.clear();
mysession.update(obj);
tx.commit();
mysession.close();
}
// 删除某一张表,通过Hibernate来实现
//输入对象必须是一个合法的Hibernate映射类对象
public void delete(Object obj) throws Exception {
Session mysession = HibernateSessionFactory.getSession();
Transaction tx = mysession.beginTransaction();
mysession.clear();
mysession.delete(obj);
tx.commit();
mysession.close();
}
// 添加某一张表,通过Hibernate来实现
//输入对象必须是一个合法的Hibernate映射类对象
public void add(Object obj) throws Exception {
Session mysession = HibernateSessionFactory.getSession();
Transaction tx = mysession.beginTransaction();
mysession.clear();
mysession.saveOrUpdate(obj);
//mysession.save(obj);
tx.commit();
mysession.close();
}
public void delete(Class objClass,String[] id)
{
Session mysession = HibernateSessionFactory.getSession();
Transaction tx = mysession.beginTransaction();
mysession.clear();
for(int i=0;i<id.length;i++)
mysession.delete(mysession.load(objClass, id[i]));
tx.commit();
mysession.close();
}
public void delete(Class objClass,Integer[] id)
{
Session mysession = HibernateSessionFactory.getSession();
Transaction tx = mysession.beginTransaction();
mysession.clear();
for(int i=0;i<id.length;i++)
mysession.delete(mysession.load(objClass, id[i]));
tx.commit();
mysession.close();
}
/**
* function:根据id的值查询记录
* @param objClass 要更新的类的class实例
* @param id 要更新的记录的id值
* @return 根据id值所查到的对象,若不存在此记录,则返回null。
*/
public Object query(Class objClass, Serializable id)
{
Session mysession = HibernateSessionFactory.getSession();
mysession.clear();
Object object=mysession.get(objClass,id);
mysession.close();
return object;
}
/**
* function:根据hql语句进行查询
* @param hql hibernate 查询语句
* @return hql的查询结果列表
*/
public List query(String hql)
{
Session mysession = HibernateSessionFactory.getSession();
mysession.clear();
System.out.println("hql:"+hql);
List list=mysession.createQuery(hql).list();
mysession.close();
return list;
}
public static void main(String[] args) throws Exception
{
CommonDAO dao=new CommonDAO();
try {
List list=dao.findBySQL("select * from systypes").getRows();
System.out.println("size------>"+list.size());
BasicDynaBean bean=(BasicDynaBean) list.get(1);
String name=bean.get("name")+"";
System.out.println("name---->"+name);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public List getAdminPage(String conditionsql1,int startRecord ,int endRecord)
{
List list1=new ArrayList();
List list2=new ArrayList();
System.out.println("start--------->"+startRecord);
System.out.println("end--------->"+endRecord);
int numberRecord=endRecord-startRecord;
try {
//list1=this.findBySQL(conditionsql1+"").getRows();
Session session = HibernateSessionFactory.getSession();
Query query=session.createQuery(conditionsql1+"");
query.setFirstResult(startRecord);
query.setMaxResults(numberRecord);
list1=query.list();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("pagelistsize="+list1.size());
for(int i=0;i<list1.size();i++){
BasicDynaBean bean=(BasicDynaBean) list1.get(i);
list2.add(bean);
}
return list2;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -