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

相关推荐
kkkkk0211066 小时前
微服务学习笔记(黑马商城)
java·spring boot·spring·spring cloud·sentinel·mybatis·java-rabbitmq
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ8 小时前
mapper.xml sql动态表查询配置
xml·java·sql
夜幽青玄8 小时前
mybatis-plus调用报 org.springframework.dao.DataIntegrityViolationException 错误处理
开发语言·python·mybatis
毕业设计制作和分享18 小时前
springboot150基于springboot的贸易行业crm系统
java·vue.js·spring boot·后端·毕业设计·mybatis
l1t21 小时前
DeepSeek辅助利用搬移底层xml实现快速编辑xlsx文件的python程序
xml·开发语言·python·xlsx
SpiderPex1 天前
论MyBatis和JPA权威性
java·mybatis
瑞士卷@1 天前
MyBatis入门到精通(Mybatis学习笔记)
java·数据库·后端·mybatis
optimistic_chen1 天前
【Java EE进阶 --- SpringBoot】Mybatis - plus 操作数据库
数据库·spring boot·笔记·java-ee·mybatis·mybatis-plus
詩句☾⋆᭄南笙1 天前
Mybatis一对一、一对多
java·mybatis·resulttype·resultmap·一对多·一对一
ss2732 天前
手写Spring第4弹: Spring框架进化论:15年技术变迁:从XML配置到响应式编程的演进之路
xml·java·开发语言·后端·spring