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;
    }
  • 相关阅读:
    Ridis学习笔记
    VMware虚拟机安装教程
    Spring中获取Bean的几种方式
    jQuery中的常用事件
    乱码解决
    自动装配
    通配符用法
    Spring
    Spring mvc简单案例
    jdbctemplate
  • 原文地址:https://www.cnblogs.com/day1day1up/p/12930656.html
Copyright © 2011-2022 走看看