spring-mybatis多表查询
来源:互联网 发布:知乎 一人之下漫画 编辑:程序博客网 时间:2024/06/04 19:29
spring-mybatie 多表查询
- 根据表的字段,按表名创建java实体类,然后把查询条件的主表中,按照查询的逻辑把从表的实体类当做属性写进上一级的主表中
然后在mybaisDAO接口的实现类中写多表查询语句(
如下,所有的表名写上别名,然后为了防止字段冲突,给字段也写上字段别名\\注意sql执行顺序,写where条件的时候分清是写字段名还是字段别名
)<select id="getQuestionAndEvaluate" resultMap="BaseResultMap" parameterType="java.lang.Integer" ><!-- WARNING - @mbggenerated This element is automatically generated by MyBatis Generator, do not modify. This element was generated on Fri Sep 01 21:17:01 CST 2017.-->select q.*,qe.evaluate_contennt qec,qe.User_id qui,qe.time qt,qk.knowledge_id qki,k.name kn,su.user_name sun,sc.class_name sccn,ss.sort_name sssnfrom question qjoin question_evaluate qe on(qe.question_id=q.question_id)join question_knowledge qk on(qk.question_id=q.question_id)join knowledge k on(k.knowledge_id=qk.knowledge_id)join study_user su on(su.user_id=qe.user_id)join study_class sc on(sc.class_id=k.class_id)join study_sort ss on(ss.sort_id=k.sort_id)where q.question_id = #{question_id,jdbcType=INTEGER}
根据查询语句的逻辑顺序搭建实体类,储存在当前页面中\
注意标签名
下列代码仅供参考与上列不符合
- 最外层写查询条件所在的表的实体类,然后其中的基本数据类型写成
- 如果是非基本数据类型而是自己定义的java对象就使用标签
- 如果是集合就使用标签
子表的实体对象也遵循这个规则
<resultMap type="cn.xdl.studyonline.common.entity.Course" id="resultMap1"><id column="id" property="id" jdbcType="INTEGER" /><result column="name" property="name" jdbcType="VARCHAR" /><result column="intro" property="intro" jdbcType="VARCHAR" /><result column="learn_count" property="learnCount" jdbcType="INTEGER" /><result column="difficulty" property="difficulty" jdbcType="VARCHAR" /><result column="score" property="score" jdbcType="INTEGER" /><result column="image" property="image" jdbcType="VARCHAR" /><result column="publish_time" property="publishTime" jdbcType="TIMESTAMP" /><result column="price" property="price" jdbcType="INTEGER" /><result column="subject_id" property="subjectId" jdbcType="INTEGER" /><result column="direction_id" property="directionId" jdbcType="INTEGER" /><!-- 关联direction的对象属性 --><association property="direction" javaType="cn.xdl.studyonline.common.entity.Direction"> <id column="did" property="id"/> <result column="dname" property="name"/></association><!-- 关联subject的对象属性 --><association property="subject" javaType="cn.xdl.studyonline.common.entity.Subject"> <id column="sid" property="id"/> <result column="sname" property="name"/></association><!-- 关联chapter的集合属性 --><collection property="chapters" javaType="java.util.List" ofType="cn.xdl.studyonline.common.entity.Chapter"> <id column="pid" property="id" jdbcType="INTEGER"/> <result column="pname" property="name" jdbcType="VARCHAR"/> <result column="course_id" property="courseId" jdbcType="INTEGER"/> <!-- 关联video的集合属性 --> <collection property="videos" javaType="java.util.List" ofType="cn.xdl.studyonline.common.entity.Video"> <id column="vid" property="id" jdbcType="INTEGER"/> <result column="vname" property="name" jdbcType="VARCHAR"/> <result column="vurl" property="url" jdbcType="VARCHAR"/> <result column="chapter_id" property="chapterId" jdbcType="INTEGER"/> </collection></collection></resultMap>
阅读全文
0 0
- spring-mybatis多表查询
- 利用SSM(springmvc+spring+mybatis)实现多表联合查询
- mybatis多表查询
- mybatis多表查询
- MyBatis多表查询
- Mybatis多表查询
- mybatis多表查询
- 【Mybatis】多表查询
- mybatis多表查询
- Spring boot mybatis 修改 , 查询涉及到多条件查询
- Spring Mvc那点事---(13)Spring Mvc之mybatis多表联合查询
- mybatis + spring 多数据源跨库查询
- Spring整合mybatis 1 查询
- mybatis多表复杂查询
- mybatis的多表查询
- mybatis多表查询操作
- mybatis多表关联查询
- mybatis多表关联查询
- 数据分析
- Spring的两种代理方式:JDK动态代理和CGLIB动态代理
- 黑客入门到放弃---自学清单
- 【CUGBACM15级BC第30场 B】hdu 5175 Misaki's Kiss again
- GIMP 快速入门(1)
- spring-mybatis多表查询
- Swift_学习笔记_调用ObjectiveC方法
- 图的遍历
- NYOJ 26 孪生素数问题
- Buttomsheetdialog的简单实用
- 两个有序数组的中位数
- 485. Max Consecutive Ones
- 排序-简单选择
- main 函数的标准原型