mysql 5.6 update hql_Hibernate 中update hql语句

packagecom.huml.util;importjava.util.ArrayList;importjava.util.Arrays;importorg.hibernate.Transaction;importorg.hibernate.Query;importorg.hibernate.Session;importorg.hibernate.SessionFactory;importorg.hibernate.cfg.Configuration;public classHibernateUtil {private static finalSessionFactory sf;private static ThreadLocal threadLocal = new ThreadLocal();static{

sf= newConfiguration().configure().buildSessionFactory();

}privateHibernateUtil() {

}public staticSession openSession() {returnsf.openSession();

}public staticSession getcurrentSession() {

Session session=threadLocal.get();if (session == null) {

session=sf.openSession();

threadLocal.set(session);

}returnsession;

}public static voidsave(Object obj) {

Session session=openSession();

Transaction tx= null;try{

tx=session.beginTransaction();

session.save(obj);

tx.commit();

}catch(Exception e) {if (tx != null) {

tx.rollback();

}throw newRuntimeException(e.getMessage());

}finally{if (session != null &&session.isOpen()) {

session.close();

}

}

}

@SuppressWarnings("unchecked")public staticArrayList executeQuery(String hql, String... params) {

Session session=openSession();

Transaction tx= null;

ArrayList list= null;try{

tx=session.beginTransaction();

Query query=session.createQuery(hql);if (params != null && params.length > 0) {for (int i = 0; i < params.length; i++) {

query.setParameter(i, params[i]);

}

}

list=(ArrayList) query.list();

tx.commit();

}catch(Exception e) {if (tx != null)

tx.rollback();throw newRuntimeException(e.getMessage());

}finally{if (session != null &&session.isOpen()) {

session.close();

}

}returnlist;

}public static voidexecuteUpdate(String hql, String... params) {

Session session=openSession();

Transaction tx= null;try{

tx=session.beginTransaction();

Query query=session.createQuery(hql);if (params != null && params.length > 0) {for (int i = 0; i < params.length; i++) {

query.setParameter(i, params[i]);//System.out.println("query influenced: "+params[i]);

}

}

System.out.println("query influenced: " +query.getQueryString());int n =query.executeUpdate();

System.out.println("query influence: " +n);

tx.commit();

}catch(Exception e) {if (tx != null)

tx.rollback();throw newRuntimeException(e.getMessage());

}finally{if (session != null &&session.isOpen()) {

session.close();

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值