zoukankan      html  css  js  c++  java
  • summary -- hibernate -- select

    查询1:sqlQuery返回 Map

    Session session = hibernateTemplate.getSessionFactory().openSession();
    List<Map<String, Object>> list = null;
    try {
        StringBuilder sb = new StringBuilder();
        sb.append("select s.*, c.name as className from Course c");
        sb.append(" left join Student s on s.classId=c.id");
    
        SQLQuery sqlQuery = session.createSQLQuery(sb.toString());
        sqlQuery.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
        list = sqlQuery.list();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        session.close();
    }
    return list;

    查询2:返回的是实体类

    Session session = hibernateTemplate.getSessionFactory().openSession();
    List<Map<String, Object>> list = null;
    try {
        StringBuilder sb = new StringBuilder();
        sb.append("from Student");
        sb.append(" where id='12345'");
    
        Query query = session.createQuery(sb.toString());
       // session.createSQLQuery(sql).addEntity(Studnet.class);
        list = query.list();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        session.close();
    }
    return list;

    查询3: 需创建vo类

    Session session = hibernateTemplate.getSessionFactory().openSession();
    List<Map<String, Object>> list = null;
    try {
        StringBuilder sb = new StringBuilder();
        sb.append("select s.*, c.name as className from Course c");
        sb.append(" left join Student s on s.classId=c.id");
    
        SQLQuery sqlQuery = session.createSQLQuery(sb.toString());
        sqlQuery.addScalar("id", Hibernate.INTEGER);
        sqlQuery.addScalar("name", Hibernate.STRING);
        sqlQuery.addScalar("age", Hibernate.INTEGER);
        sqlQuery.addScalar("className", Hibernate.STRING);
        
        sqlQuery.setResultTransformer(Transformers.aliasToBean(StudentVo.class));
        list = sqlQuery.list();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        session.close();
    }
    return list;
    
    @Data
    public class StudentVo {
        private int id;
        private String name;
        private int age;
        private Course course;
    }
  • 相关阅读:
    CSS
    HTML
    MySQL:PyMySQL&ORM
    MySQL:SQL进阶
    03-body标签中相关标签
    02-body标签中相关标签
    01-html介绍和head标签
    并发编程
    异常处理、网络编程
    面向对象进阶和模块
  • 原文地址:https://www.cnblogs.com/day1day1up/p/12930656.html
Copyright © 2011-2022 走看看