📄 objectdaosheimpl.java
字号:
}else{
hql.append(" and "+key+"=?");
}
i++;
}
Query query=session.createQuery(hql.toString());
for(int j=0;j<values.size();j++){
query.setParameter(j, values.get(j));
}
if(isCache)query.setCacheable(true);
list=query.list();
if(isTransaction)session.getTransaction().commit();
return list;
}catch(Exception e){
e.printStackTrace();
log.info("DAO queryObjectsByMap error\n");
return null;
}
}
public List queryObjectsByMapOrderByCondition(Map map,String conditionName,String orderType){
List list=null;
try{
Session session=this.getCurrentSession();
if(isTransaction)session.beginTransaction();
StringBuffer hql=new StringBuffer("from "+object.getClass().getName()+" where");
List<Object> values=new ArrayList<Object>();
Set set=map.keySet();
Iterator it=set.iterator();
int i=0;
while(it.hasNext()){
String key=(String)it.next();
Object value=map.get(key);
values.add(value);
if(i==0){
hql.append(" "+key+"=?");
}else{
hql.append(" and "+key+"=?");
}
i++;
}
if(!"".equals(conditionName)&&!"".equals(orderType)){
hql.append(" order by "+conditionName+" "+orderType);
}
Query query=session.createQuery(hql.toString());
for(int j=0;j<values.size();j++){
query.setParameter(j, values.get(j));
}
if(isCache)query.setCacheable(true);
list=query.list();
if(isTransaction)session.getTransaction().commit();
return list;
}catch(Exception e){
e.printStackTrace();
log.info("DAO queryObjectsByMapOrderByCondition error\n");
return null;
}
}
//根据自己给的hql查询
public List queryByHql(String hql){
List list=null;
try{
Session session=this.getCurrentSession();
if(isTransaction)session.beginTransaction();
Query query=session.createQuery(hql);
if(isCache)query.setCacheable(true);
list=query.list();
if(isTransaction)session.getTransaction().commit();
}catch(Exception e){
e.printStackTrace();
log.info("DAO queryHql error\n");
return null;
}
return list;
}
//添加对象
public boolean createObject(Object entity){
try{
Session session=this.getCurrentSession();
if(isTransaction)session.beginTransaction();
session.save(entity);
if(isTransaction)session.getTransaction().commit();
}catch(Exception e){
e.printStackTrace();
log.info("DAO createObject error\n");
return false;
}
return true;
}
//修改信息对象
public boolean updateObject(Object entity){
try{
Session session=this.getCurrentSession();
if(isTransaction)session.beginTransaction();
session.update(entity);
if(isTransaction)session.getTransaction().commit();
}catch(Exception e){
e.printStackTrace();
log.info("DAO updateObject error\n");
return false;
}
return true;
}
//按ID删除对象
public boolean deleteObjectByID(String id){
try{
Session session=this.getCurrentSession();
if(isTransaction)session.beginTransaction();
String HQL="delete from "+object.getClass().getName()+" where id= ?";
Query query = session.createQuery(HQL);
query.setParameter(0, id);
query.executeUpdate();
if(isTransaction)session.getTransaction().commit();
}catch(Exception e){
e.printStackTrace();
log.error("DAO deleteObjectByID error\n");
return false;
}
return true;
}
// 按条件删除对象
public boolean deleteObjectByCondition(String conditionName,String conditionValue){
try{
Session session=this.getCurrentSession();
if(isTransaction)session.beginTransaction();
String HQL="delete from "+object.getClass().getName()+" where "+conditionName+" =?";
Query query=session.createQuery(HQL);
query.setParameter(0, conditionValue);
query.executeUpdate();
if(isTransaction)session.getTransaction().commit();
}catch(Exception e){
e.printStackTrace();
log.info("DAO deleteObjectByCondition error\n");
return false;
}
return true;
}
//删除对象
public boolean deleteObject(Object entity){
try{
Session session=this.getCurrentSession();
if(isTransaction)session.beginTransaction();
session.delete(entity);
if(isTransaction)session.getTransaction().commit();
}catch(Exception e){
e.printStackTrace();
log.info("DAO deleteObject error\n");
return false;
}
return true;
}
public boolean updateOrDeleteByHql(String hql){
try{
Session session=this.getCurrentSession();
if(isTransaction)session.beginTransaction();
session.createQuery(hql).executeUpdate();
if(isTransaction)session.getTransaction().commit();
}catch(Exception e){
e.printStackTrace();
log.info("DAO deleteByHql error\n");
return false;
}
return true;
}
/*public Session getCurrentSession(){
if(session==null||!session.isOpen()){
log.info("open hibernate session\n");
//this.getSession是由于继承了HibernateDaoSupport
session=this.getSession();
}
return session;
}
public void closeSession(){
if(session==null||!session.isOpen()){
log.info("the session is already colsed\n");
return ;
}
session.close();
log.info("close hibernate session\n");
}*/
public Session getCurrentSession(){
Session session=(Session)threadLocal.get();
if (session == null || !session.isOpen()) {
// log.info("open hibernate session\n");
// this.getSession是由于继承了HibernateDaoSupport
session=this.getSession();
threadLocal.set(session);
return session;
}
return session;
}
/* public void closeSession(){
Session session = (Session) threadLocal.get();
if(session==null||!session.isOpen()){
log.info("the session is already colsed\n");
return ;
}
threadLocal.set(null);
if (session != null||session.isOpen()) {
// this.releaseSession(session);
log.info("close hibernate session\n");
session.close();
if(session==null||!session.isOpen()){
log.info("the session is colsed successfully!\n");
}
}
}*/
public void setObject(Object object) {
this.object = object;
}
public void closeSession() {
this.getCurrentSession().close();
}
public List queryAllObjectsOrderByID() {
// TODO Auto-generated method stub
return this.queryAllObjectsOrderByCondition("id");
}
public List queryObjectsByPageOrderById(int firstResult, int maxResults) {
// TODO Auto-generated method stub
return this.queryObjectsByPageOrderByCondition("id", firstResult, maxResults);
}
public List queryOneObjectByIDReturnList(String id) {
// TODO Auto-generated method stub
List list=new ArrayList();
list.add(this.queryObjectsByCondition("id", id));
return list;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -