您的位置:首页 > 其它

Hibernate中Hql操作

2015-08-14 21:28 399 查看
在我们需要处理数据量比较大的时候,如果依旧单个修改则会造成效率低下

所以,在这个时候,我们需要用到的就是批量修改,也就是Hql

同昨天的是同一个例子,使用user表,因为hibernate中已经将sql语句封装好,所以,我们使用它的createQuery

不多废话,直接上源码

package dao;

import java.util.List;

import javax.management.Query;

import org.hibernate.Session;

import org.hibernate.SessionFactory;

import org.hibernate.Transaction;

import org.hibernate.cfg.Configuration;

/**

* 测试Hql

* @author Administrator

*

*/

public class TestHql {

private static SessionFactory sessionFactory=null;

private Session session=null;

Transaction transaction=null;

static {

try {

sessionFactory=new Configuration().configure().buildSessionFactory();

} catch (Exception e) {

// TODO: handle exception

}

}

/**

* 遍历

* @return

*/

public List queryUserList(){

List list=null;

session=sessionFactory.openSession();

String qsl="from User ";

try {

org.hibernate.Query query=session.createQuery(qsl);

list=query.list();

System.out.println(list);

} catch (Exception e) {

// TODO: handle exception

e.printStackTrace();

}finally{

session.close();

}

return list;

}

/**

* 模糊查询

* @param keyName

* @return

*/

public List queryByName(String keyName){

List list=null;

session=sessionFactory.openSession();

String qsl="from User as user where user.name like:keyName";

try {

org.hibernate.Query query=session.createQuery(qsl);

query.setString("keyName","%"+keyName+"%");

list=query.list();

System.out.println(list);

} catch (Exception e) {

// TODO: handle exception

e.printStackTrace();

}finally{

session.close();

}

return list;

}

/*

根据姓名,批量删除用户

public void delectUserByName(String name){

session=sessionFactory.openSession();

session.beginTransaction();

String sql="delete from User as user where user.name=?";

session.createQuery(sql).setString(0, name).executeUpdate();

//session.createQuery(sql).executeUpdate();

session.getTransaction().commit();

session.close();

}

public static void main(String[] args) {

TestHql t=new TestHql();

//t.queryByName("zh");

//t.queryUserList();

t.delectUserByName("");

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: