• 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();
                }
            }
        }
    }    

    查询结果截图:

      

    如有任何疑问可联系邮箱: 给我发邮件、或直接联系QQ:1584875179 || 点返回首页

  • 相关阅读:
    websocket初体验(能传文字和图片)
    展开折叠效果 height未知 transition无效
    微信小程序自定义键盘
    微信小程序 selectComponent 值为null
    css 斜线 animation
    【转】怎样在ubuntu12.04下创建一个启动器
    以ontouch为例说明android事件发送机制
    谈谈移动应用设计——从一个普通开发者的角度
    Launch error: Failed to connect to remote VM. Connection refused.的解决办法
    Beyond compare代码比较工具。
  • 原文地址:https://www.cnblogs.com/aeon/p/10106405.html
Copyright © 2020-2023  润新知