mybatis中的parameterType和resultType两个参数的说明

2024-06-17 12:48

本文主要是介绍mybatis中的parameterType和resultType两个参数的说明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

mybatis中的parameterType和resultType两个参数的指向:
parameterType:
parameterType指的是传入参数的数据类型,一般作为增删改查的限制条件值,被where、in等限定。外部传入了什么类型参数,这里就写什么类型。
对于包装类的数据传入,获取其内部信息,该参数直接作为内部信息的归属指向。如:包装类x传入,且想遍历包装类内的y集合,则parameterType=“com.aaa.domain.x”,内部foreach collection=“y”。
并且,在继续想对包装类的内部对象的属性进行操作时(也就是对其打点再调用属性),可利用ognl表达式指向#{}内的参数,是对#{}内这种传入的赋值参数的出身做详细说明。
如:

<select id="selectTownByPacking" parameterType="com.aaa.domain.Group" resultType="com.aaa.domain.Town">select * from town where tid=#{town.tid}</select>

上面例子中,#{}内的属性加上前面设定的parameterType传入参数类型,表示com包下的aaa包下的domian包下的Group实体类中的user对象的tid属性。

resultType:
resultType指的是接收参数的数据类型,一般作为查询的获取字段信息(主要是一般只有查询会有返回的结果集),被select所限定。
数据库利用mybatis、通过sql语句、把数据封装到的目标对象,是对接收数据的地点目标的详细说明。
如:resultType=“com.bbb.domain.Group”,而在Group中包含着user对象的get、set方法,其中的user对象所属的User类中的name属性,在数据库中为umane。如果要将该umane封装到User的name属性中,则需要对uname起别名为"user.name",这样,封装的该数据就会按照com.bbb.domain.Group+user.name层层深入找到name属性进行赋值。
方法1举例:

<select id="findTown" resultType="com.bbb.domain.Town">SELECT tid,tname,t_cid,c.cid AS 'country.cid',c.cname AS 'country.cname' FROM town t LEFT OUTER JOIN country c ON t.`t_cid` = c.cid;</select>

或者利用方法2:先定义一个resultMap,如下:

<resultMap id="demo" type="com.bbb.domain.Town"><!--id的特殊格式--><id column="tid" property="tid"/><!--未在对象内,可直接找到的属性--><result column="tname" property="tname"/><result column="t_cid" property="t_cid"/><!--对象--><association property="country" javaType="com.bbb.domain.Country"><!--对象内属性--><result column="cid" property="cid"/><result column="cname" property="cname"/></association></resultMap><!--完成resultMap的定义后,将其赋值给select的结果接收集中--><select id="findTown" resultMap="demo">--         因为上面已经进行属性名转换,这里的sql语句则可以直接查询select * FROM town t LEFT OUTER JOIN country c ON t.`t_cid` = c.cid;</select>

这篇关于mybatis中的parameterType和resultType两个参数的说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1069488

相关文章

MyBatis配置文件中最常用的设置

《MyBatis配置文件中最常用的设置》文章主要介绍了MyBatis配置的优化方法,包括引用外部的properties配置文件、配置外置以实现环境解耦、配置文件中最常用的6个核心设置以及三种常用的Ma... 目录MyBATis配置优化mybatis的配置中引用外部的propertis配置文件⚠️ 注意事项X

MyBatis中的两种参数传递类型详解(示例代码)

《MyBatis中的两种参数传递类型详解(示例代码)》文章介绍了MyBatis中传递多个参数的两种方式,使用Map和使用@Param注解或封装POJO,Map方式适用于动态、不固定的参数,但可读性和安... 目录✅ android方式一:使用Map<String, Object>✅ 方式二:使用@Param

MyBatis-Plus使用动态表名分表查询的实现

《MyBatis-Plus使用动态表名分表查询的实现》本文主要介绍了MyBatis-Plus使用动态表名分表查询,主要是动态修改表名的几种常见场景,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录1. 引入依赖2. myBATis-plus配置3. TenantContext 类:租户上下文

Spring Boot 集成 mybatis核心机制

《SpringBoot集成mybatis核心机制》这篇文章给大家介绍SpringBoot集成mybatis核心机制,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值... 目录Spring Boot浅析1.依赖管理(Starter POMs)2.自动配置(AutoConfigu

Java之ServerSocket使用及说明

《Java之ServerSocket使用及说明》本文介绍了Java中ServerSocket类的使用方法,包括创建ServerSocket对象、绑定端口、监听连接请求、接受连接、关闭连接等常用方法,还... 目录前言常用方法使用案例1.实现TCP2.实现UDP总结前言Java中的ServerSocket

在SpringBoot+MyBatis项目中实现MySQL读写分离的实战指南

《在SpringBoot+MyBatis项目中实现MySQL读写分离的实战指南》在SpringBoot和MyBatis项目中实现MySQL读写分离,主要有两种思路:一种是在应用层通过代码和配置手动控制... 目录如何选择实现方案核心实现:应用层手动分离实施中的关键问题与解决方案总结在Spring Boot和

使用MyBatis TypeHandler实现数据加密与解密的具体方案

《使用MyBatisTypeHandler实现数据加密与解密的具体方案》在我们日常的开发工作中,经常会遇到一些敏感数据需要存储,比如用户的手机号、身份证号、银行卡号等,为了保障数据安全,我们通常会对... 目录1. 核心概念:什么是 TypeHandler?2. 实战场景3. 代码实现步骤步骤 1:定义 E

MyBatis中的大于等于、小于等于写法

《MyBatis中的大于等于、小于等于写法》MyBatisXML映射文件中处理大于等于和小于等于符号的两种方法:使用转义字符和CDATA块,转义字符更为常见,而CDATA块则提供了一种更易读的解决方案... 目录1. 使用转义字符(推荐)2. 使用 CDATA 块注意事项总结在 MyBATis 的 XML

Java Exception与RuntimeException使用及说明

《JavaException与RuntimeException使用及说明》:本文主要介绍JavaException与RuntimeException使用及说明,具有很好的参考价值,希望对大家有所... 目录简介ExceptionRuntimeException自定义异常选择继承Exception(受检异常)

springboot+mybatis一对多查询+懒加载实例

《springboot+mybatis一对多查询+懒加载实例》文章介绍了如何在SpringBoot和MyBatis中实现一对多查询的懒加载,通过配置MyBatis的`fetchType`属性,可以全局... 目录springboot+myBATis一对多查询+懒加载parent相关代码child 相关代码懒