引言
在 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 version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace=""></mapper>
第3步:配置
a. XML映射文件的namespace属性为Mapper接口全限定名
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//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 version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//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配置,切 不可同时配置 。