首页 > 其他分享 >mybatis关于自定义映射的使用方法

mybatis关于自定义映射的使用方法

时间:2023-05-24 21:55:40浏览次数:35  
标签:Java 自定义 映射 查询 MyBatis mybatis id

在 MyBatis 中,可以通过 SQL 映射文件来自定义映射,即将一个查询结果映射成一个 Java 对象。在映射中,我们可以控制如何从查询结果中提取数据,并将其映射到 Java 对象的属性中。

以下是一些常用的自定义映射方式:

  1. resultMap:使用 resultMap 元素来定义映射规则,可以精确地将查询结果映射为 Java 对象。比如可以指定每个列对应 Java 对象的哪个属性,以及如何转换数据类型。

  2. resultType:使用 resultType 元素来指定返回值类型,MyBatis 会根据查询结果自动进行映射。

  3. 自定义类型处理器:在 MyBatis 中,可以自定义类型处理器,用于将查询结果转换为 Java 对象。类型处理器可以掌握更精细的映射操作,比如将对应字符串解析为日期类型等。

示例代码:

<!-- resultMap 的使用示例 -->
<resultMap id="userResultMap" type="com.mss.entity.User">
   <id property="id" column="user_id"/>
   <result property="username" column="user_name"/>
   <result property="password" column="password"/>
   <result property="age" column="age"/>
   <result property="email" column="email"/>
</resultMap>

<select id="selectUserById" resultMap="userResultMap">
    select * from user where id=#{id}
</select>

<!-- resultType 的使用示例 -->
<select id="selectUserById" resultType="com.mss.entity.User">
    select * from user where id=#{id}
</select>

<!-- 自定义类型处理器 -->
<typeHandler handler="com.mss.handler.MyDateTypeHandler"/>

在自定义映射时,需要注意数据类型的转换和名称匹配等问题,否则可能导致映射失败。因此,在实际开发中,建议先编写简单的映射规则,测试映射结果是否正确,再逐步完善映射规则。同时,为了避免写重复的代码,可以将映射规则抽象成公共的基础模板,在需要的地方引用。

标签:Java,自定义,映射,查询,MyBatis,mybatis,id
From: https://www.cnblogs.com/ZhuAo/p/17429646.html

相关文章

  • 【SQL用法】Mybatis框架中的xml文件中经常使用的sql语句
    本文目录一、insert语句二、select查询语句三、批量添加四、与时间比较相关的项目中经常会用到的sql语句有:一、insert语句<!--保存用户信息--><insertid="save">insertintomainsite_product_message<trimprefix="("suffix=")"suffixOverrides=","......
  • 【IntelliJ IDEA】idea中的插件之一:Free Mybatis plugin跳转插件的使用(方便在Dao接口
    本文目录一、安装二、使用最近在使用一个非常好用的跳转插件,用着很顺手,效率比之前提高了很多。之前使用MyBatis框架或者是在IDEA中,发现Mapper接口和XML文件之间跳转十分的麻烦,我之前经常的操作是在Mapper接口中将接口名称复制一下,然后去查找对应的XML文件,打开后CRTL+F查找对应的xml......
  • mybatis错误
    问题1:在mybatis-config.xml中使用了正确的资源路径,但是仍然报notfind的错误!!!<mappers><mapperresource="com/louis/dao/UserMapper.xml"/></mappers>解决方法:①可以将资源放置在resource文件夹下②在pom.xml中添加如下代码......
  • Mybatis多表查询(一对多)
    1、两个实体类(部门表、员工表)一个部门包含许多员工(一对多关系),将员工表信息写到部门实体类中点击查看代码packagecom.bh.po;importjava.util.Set;publicclassDept{privateintdeptno;privateStringdname;privateStringloc;//因为一个部门有很多......
  • 一文全了解Mybatis
    初步了解总体架构设计Mybatis整体框架如下:接口层MyBatis和数据库的交互有两种方式:使用传统的MyBatis提供的API;使用Mapper接口;使用传统的MyBatis提供的API这是传统的传递StatementId和查询参数给SqlSession对象,使用SqlSession对象完成和数据库的交互;My......
  • Mybatis多表联查(一对一)
    1、在搭建好Mybatis之后,建两个实体类(将从表实体类型建在主表实体类中)点击查看代码packagecom.bh.po;publicclassStudent1{privateintstuid;privateStringstuname;//从表类型privateStudetailsd;publicStudetailgetSd(){retur......
  • vs2019打包程序时添加自定义的系统必备组件
     若要创建引导程序包,必须创建产品清单产品清单 product.xml包清单 package.xml 将文件复制到引导程序文件夹位置C:\ProgramFiles(x86)\MicrosoftVisualStudio14.0\SDK\Bootstrapper\Packages文件夹下    ......
  • Maven+Eclipse+SpringMVC+MyBatis整合
    Maven+Eclipse+SpringMVC+MyBatis整合参考:SpringMVC3.0.5+Spring3.0.5+MyBatis3.0.4全注解实例详解(一):[url]http://www.blogjava.net/bolo/archive/2011/05/23/349655.html[/url]Maven最佳实践:版本管理:[url]http://juvenshun.iteye.com/blog/376422[/......
  • Spring MVC +MyBatis3全注解实例详解
    SpringMVC3.0.5+Spring3.0.5+MyBatis3.0.4全注解实例详解(一):[url]http://www.blogjava.net/bolo/archive/2011/05/23/349655.html[/url]如何配置Eclipse,Maven,Jetty并运行工程.如是使用Tomcat的话,改插件为:[url]http://tomcat.apache.org/maven-plugin......
  • mall学习01-整合mybatis
    1-mall学习01-概览学习链接2导入数据库#pwd#/Users/fwd/03-fwd_git/05-fly-higher-in-java/96-mall/note-mall#cp../opencode-mall/mall-learning/document/sql/mall.sql./安装mysql容器dockerrun--name=mall-mysql-it-p3306:3306-eMYSQL_ROOT_PASSWORD=root-dmys......