`
cnflat
  • 浏览: 13517 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

mybatis学习笔记2-复合类型查询

    博客分类:
  • JAVA
 
阅读更多
1. 使用association和collection标签进行复合类型查询
2. discriminator标签进行分类查询,感觉是为了实现继承类的ORMaping而存在的。

复合类型. User对象中包含一个Album列表. 注意collection标签中的column取值需要和User的sql中的列名对应,这里是user_id。取Album的sql中也用到这个列名:userid=#{user_id}
<resultMap type="User" id="userMapWithAlbum">
		<id property="id" column="user_id" />
		<result property="name" column="user_name" />
		<result property ="sex" column="user_sex" />
		<result property="age" column="user_age" />
		<collection property="albums" column="user_id" ofType="Album" select="selectAlbumForUser" />
	</resultMap>
<select id="findById" parameterType="HashMap" resultMap="usermap">
		select 
			a.id as user_id,
			a.name as user_name,
			a.sex as user_sex,
			a.age as user_age
		from T_User a where a.id=#{id}
    </select>
    
    <select id="selectAlbumForUser" resultType="Album">
    	select * from T_Album where userId=#{user_id}
    </select>


分类应用,需要定义User的两个子类:GameUser和SingUser. GameUser有wins属性,SingUser有sings属性
<resultMap type="User" id="usermap">
		<id property="id" column="user_id" />
		<result column="user_name" property="name" typeHandler="example.dao.typehandler.SimpleTypeHandler"/>
		<result property ="sex" column="user_sex" />
		<result property="age" column="user_age" />
		<discriminator javaType="byte" column="user_sex">
			<case value="1" resultType="example.model.GameUser">
				<result property="wins" column="wins" />
			</case>
			<case value="0" resultType="example.model.SingUser">
				<result property="sings" column="sings" />
			</case>
		</discriminator>
	</resultMap>
分享到:
评论

相关推荐

    mybatis-plus-boot-starter-3.5.1-API文档-中文版.zip

    赠送jar包:mybatis-plus-boot-starter-3.5.1.jar; 赠送原API文档:mybatis-plus-boot-starter-3.5.1-javadoc.jar; 赠送源代码:mybatis-plus-boot-starter-3.5.1-sources.jar; 赠送Maven依赖信息文件:mybatis-...

    mybatis-plus-extension-3.5.1-API文档-中英对照版.zip

    赠送jar包:mybatis-plus-extension-3.5.1.jar; 赠送原API文档:mybatis-plus-extension-3.5.1-javadoc.jar; 赠送源代码:mybatis-plus-extension-3.5.1-sources.jar; 赠送Maven依赖信息文件:mybatis-plus-...

    MyBatis-Plus 的官方示例(mybatis-plus-samples-master.zip)

    本工程为 MyBatis-Plus 的官方示例,项目结构如下: mybatis-plus-sample-quickstart: 快速开始示例 mybatis-plus-sample-quickstart-springmvc: 快速开始示例(Spring MVC版本) mybatis-plus-sample-reduce-...

    mybatis-spring-2.0.6-API文档-中文版.zip

    赠送jar包:mybatis-spring-2.0.6.jar; 赠送原API文档:mybatis-spring-2.0.6-javadoc.jar; 赠送源代码:mybatis-spring-2.0.6-sources.jar; 赠送Maven依赖信息文件:mybatis-spring-2.0.6.pom; 包含翻译后的API...

    mybatis-spring-boot-autoconfigure-1.3.2-API文档-中英对照版.zip

    赠送jar包:mybatis-spring-boot-autoconfigure-1.3.2.jar; 赠送原API文档:mybatis-spring-boot-autoconfigure-1.3.2-javadoc.jar; 赠送源代码:mybatis-spring-boot-autoconfigure-1.3.2-sources.jar; 赠送...

    mybatis-spring-2.0.0-API文档-中文版.zip

    赠送jar包:mybatis-spring-2.0.0.jar; 赠送原API文档:mybatis-spring-2.0.0-javadoc.jar; 赠送源代码:mybatis-spring-2.0.0-sources.jar; 赠送Maven依赖信息文件:mybatis-spring-2.0.0.pom; 包含翻译后的API...

    mybatis-plus-boot-starter-3.1.0-API文档-中文版.zip

    赠送jar包:mybatis-plus-boot-starter-3.1.0.jar; 赠送原API文档:mybatis-plus-boot-starter-3.1.0-javadoc.jar; 赠送源代码:mybatis-plus-boot-starter-3.1.0-sources.jar; 赠送Maven依赖信息文件:mybatis-...

    mybatis-plus-boot-starter-3.4.3.3.jar

    mybatis-plus-boot-starter.jar 各个版本下载, SpringBoot 集成 MybatisPlus jar 包下载, Mybatis-Plus(简称MP)是一个基于MyBatis的增强工具库,它简化了与数据库的交互操作并提供了一系列增强功能,使开发者...

    mybatis-generator-core-1.3.7-API文档-中文版.zip

    赠送jar包:mybatis-generator-core-1.3.7.jar; 赠送原API文档:mybatis-generator-core-1.3.7-javadoc.jar; 赠送源代码:mybatis-generator-core-1.3.7-sources.jar; 赠送Maven依赖信息文件:mybatis-generator-...

    mybatis-spring-boot-starter-2.1.3.jar

    mybatis-spring-boot-starter-2.1.3.jarmybatis-spring-boot-starter-2.1.3.jarmybatis-spring-boot-starter-2.1.3.jar

    mybatis-plus-annotation-3.5.1-API文档-中文版.zip

    赠送jar包:mybatis-plus-annotation-3.5.1.jar; 赠送原API文档:mybatis-plus-annotation-3.5.1-javadoc.jar; 赠送源代码:mybatis-plus-annotation-3.5.1-sources.jar; 赠送Maven依赖信息文件:mybatis-plus-...

    mybatis-plus-boot-starter-3.1.0.jar

    mybatis-plus-boot-starter.jar 各个版本下载, SpringBoot 集成 MybatisPlus jar 包下载, Mybatis-Plus(简称MP)是一个基于MyBatis的增强工具库,它简化了与数据库的交互操作并提供了一系列增强功能,使开发者...

    mybatis-spring-boot-starter-2.0.0.jar

    mybatis mybatis-spring-boot-starter-2.0.0.jar下载

    mybatis-3-config.dtd mybatis-3-mapper.dtd

    `mybatis-config.xml`是MyBatis的核心配置文件,它包含了全局设置,如数据源、事务管理器、类型处理器等信息。例如,DTD定义了`configuration`元素,它是配置文件的根元素,包含了`properties`(用于加载外部属性...

    mybatis框架学习笔记--快速入门

    内容概要:mybatis学习笔记,适合刚接触mybatis的人能让你快速入门。 适用人群:大学生或者初基础mybatis的人 使用场景及目标:idea集成mybatis,简化jdbc

    mybatis-spring-boot-autoconfigure-2.1.3.jar_idea安装maven插件

    mybatis-spring-boot-autoconfigure-2.1.3mybatis-spring-boot-autoconfigure-2.1.3

    mybatis-plus-boot-starter-3.5.3.2.jar

    mybatis-plus-boot-starter.jar 各个版本下载, SpringBoot 集成 MybatisPlus jar 包下载, Mybatis-Plus(简称MP)是一个基于MyBatis的增强工具库,它简化了与数据库的交互操作并提供了一系列增强功能,使开发者...

    mybatis-spring-boot-starter-2.1.4.jar

    mybatis-spring-boot-starter-2.1.4.jarmybatis-spring-boot-starter-2.1.4.jar

    mybatis-plus-boot-starter-3.5.1-API文档-中英对照版.zip

    赠送jar包:mybatis-plus-boot-starter-3.5.1.jar; 赠送原API文档:mybatis-plus-boot-starter-3.5.1-javadoc.jar; 赠送源代码:mybatis-plus-boot-starter-3.5.1-sources.jar; 赠送Maven依赖信息文件:mybatis-...

    mybatis-generator-config_1_0.dtd

    mybatis-generator-config_1_0.dtd文件存在于mybatis-generator-core-1.3.2.jar包中,路径如下org/mybatis/generator/config/xml/mybatis-generator-config_1_0.dtd 可以设置开发工具的dtd配置,配置...

Global site tag (gtag.js) - Google Analytics