MyBatis-XML映射配置

引言

在 Mybatis 中,既可以通过注解配置 SQL 语句,也可以通过 XML 配置文件配置 SQL 语句。默认规则:

  1. XML 映射文件的名称与 Mapper 接口名称一致,并且将 XML 映射文件和 Mapper 接口放置在相同包下 (同包同名)
  2. XML 映射文件的 namespace 属性为 Mapper 接口 全限定名 一致。
  3. XML 映射文件中 sql 语句的 id 与 Mapper 接口中的 方法名 一致,并保持 返回类型 一致。

在Mybatis的开发中,到底使用注解开发还是使用XML开发呢 ?

使用Mybatis的注解,主要是来完成一些简单的增删改查功能。如果需要实现复杂的SQL功能,建议使用XML 来配置映射语句。

官方说明:入门_MyBatis中文网

XML开发的具体实现步骤:

第1步: 创建XML映射文件

注意由于创建的是目录,目录之间使用/分割(这里很容易错)

第2步:编写XML映射文件

xml映射文件中的dtd约束,直接从mybatis官网复制即可; 或者直接AI生成。

XML 复制代码
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="">
 
</mapper>

第3步:配置

a. XML映射文件的namespace属性为Mapper接口全限定名
XML 复制代码
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.itheima.mapper.UserMapper">

</mapper>
b. XML映射文件中sql语句的id与Mapper接口中的方法名一致,并保持返回类型一致
XML 复制代码
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.itheima.mapper.EmpMapper">

    <!--查询操作-->
    <select id="findAll" resultType="com.itheima.pojo.User">
        select * from user
    </select>
    
</mapper>

resultType 属性的值,与查询返回的单条记录封装的类型一致。

运行测试类,执行结果:

注意:一个接口方法对应的SQL语句,要么使用注解配置,要么使用XML配置,切不可同时配置。


MybatisX的使用

MybatisX是一款基于IDEA的快速开发Mybatis的插件,为效率而生。

MybatisX的安装:

可以通过MybatisX快速定位:

MybatisX的使用在后续学习中会继续分享。

小结:

1.使用Mybatis的 注解 ,主要是来完成一些 简单的增删改查功能 。如果需要实现 复杂的SQL 功能,建议使用 XML 来配置 映射语句
2. XML 映射文件的定义规则 ?
a. XML 文件名称与 Mapper 接口名称一致,并且放置在相同包下(同包同名)。
b. XML 文件的 namespace 属性为 Mapper 接口全限定名一致。
c. XML 文件中 sql 语句的 id 与 Mapper 接口中的方法名一致。
3.为 保证同包同名而建立的路径是目录 ,而 目录之间使用/分割 ,不是.分割。 (这里很容易错)
4.注意:一个接口方法对应的 SQL语句 ,要么使用注解配置,要么使用XML配置,切 不可同时配置

相关推荐
加什么瓦4 小时前
Mybatis
java·开发语言·mybatis
机 _ 长4 小时前
一键批量修改XML标签名称:告别手工修改,高效管理标注数据
xml
珹洺7 小时前
MyBatis实战指南(七)MyBatis缓存机制
java·数据库·sql·安全·缓存·oracle·mybatis
結城11 小时前
Spring Security如何拿到登录用户的信息
java·spring·mybatis
迢迢星万里灬1 天前
Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析
java·spring boot·spring·mybatis·spring mvc·面试指南
wowocpp1 天前
mybatis 关联映射---一对一关联映射
数据库·mybatis
谷哥的小弟1 天前
MyBatis注解开发的劣势与不足
mybatis·注解开发
BillKu2 天前
MyBatis中foreach集合用法详解
windows·mybatis
hashiqimiya2 天前
android studio中修改java逻辑对应配置的xml文件
xml·java·android studio
Bug改不动了2 天前
迁移达梦数据库过程中,如何快速识别需要改写的Mapper SQL方法
java·mybatis