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配置,切 不可同时配置

相关推荐
潘多编程2 小时前
SpringBoot分布式项目订单管理实战:Mybatis最佳实践全解
spring boot·分布式·mybatis
要天天开心啊2 小时前
MyBatis第二天笔记
笔记·tomcat·mybatis
于过7 小时前
基于Mybatis的SQL模版解析
后端·mybatis
小刘|10 小时前
Mybatis_Plus中的常用注解
java·spring·mybatis
小钊(求职中)13 小时前
七种分布式ID生成方式详细介绍--Redis、雪花算法、号段模式以及美团Leaf 等
java·spring boot·分布式·spring·mybatis
luoluoal14 小时前
java项目之基于ssm的医院门诊挂号系统(源码+文档)
java·mysql·mybatis·ssm·源码
shaoweijava1 天前
基于SpringBoot的美食设计网站(源码+数据库)
数据库·spring boot·mysql·mybatis
三氧化真1 天前
使用FastExcel时的单个和批量插入的问题
java·数据库·mybatis
努力也学不会java1 天前
【MyBatis】MyBatis 操作数据库
java·数据库·spring boot·spring·java-ee·intellij-idea·mybatis
振鹏Dong1 天前
Mybatis日志模块分析--适配器模式+代理模式
mybatis