dljd_(049-050)hibernate-模糊查询/唯一查询

一、模糊查询

package edu.aeon.hibernate.test;

import java.util.List;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.junit.Test;
import edu.aeon.aeonutils.hibernate.getsessionutil.GetSessionUtil;
import edu.aeon.beans.Student;
/**    
 * [说明]:模糊查询
 * @author aeon
 *
 */
public class TestLikeQuery {
    @Test
    public  void testHqlQueryByPage() {
        Transaction transaction=null;
        Session session=null;
        try {
            session = GetSessionUtil.getSession();
            transaction=session.getTransaction();
            transaction.begin();
            // 查询学生姓名中有aeon的学生
            String hql="from Student where stuname like:stuname";
            List<Student> stuList= session.createQuery(hql)
                    .setString("stuname", "%aeon%")
                    .list();
            for (Student stu : stuList) {
                System.out.println(stu);
            }
            System.out.println("hql查询!");
            transaction.commit();
        } catch (Exception e) {
            e.printStackTrace();
            //事物的回滚操作
            transaction.rollback();
        }finally{
            /*
             * 其实这种getCurrentSession获取到的session我们无需手动关闭
             * 因为当事务提交或者回滚的时候已经做了关闭session操作
             * 而用openSession获取到的session我们一定要用手动去关闭
             * */
            if(null!=session){
                session.close();
            }
        }
    }
}    

  

数据库中的数据记录截图:

  

查询结果截图:

  

二、唯一查询

  

package edu.aeon.hibernate.test;

import org.hibernate.Session;
import org.hibernate.Transaction;
import org.junit.Test;
import edu.aeon.aeonutils.hibernate.getsessionutil.GetSessionUtil;
import edu.aeon.beans.Student;
/**    
 * [说明]:唯一查询
 * @author aeon
 *
 */
public class TestUniqueQuery {
    @Test
    public  void testHqlQueryByPage() {
        Transaction transaction=null;
        Session session=null;
        try {
            session = GetSessionUtil.getSession();
            transaction=session.getTransaction();
            transaction.begin();
            // 查询学生id=2的学生信息
            String hql="from Student where stuId=:stuid";
            Student student = (Student) session.createQuery(hql)
                    .setInteger("stuid", 2).uniqueResult();
            System.out.println(student);
            System.out.println("hql查询!");
            transaction.commit();
        } catch (Exception e) {
            e.printStackTrace();
            //事物的回滚操作
            transaction.rollback();
        }finally{
            /*
             * 其实这种getCurrentSession获取到的session我们无需手动关闭
             * 因为当事务提交或者回滚的时候已经做了关闭session操作
             * 而用openSession获取到的session我们一定要用手动去关闭
             * */
            if(null!=session){
                session.close();
            }
        }
    }
}    

查询结果截图:

  

猜你喜欢

转载自www.cnblogs.com/aeon/p/10106405.html
今日推荐