Mybatis(5)Mybatis基础操作(XML)& 简单查询
Mybatis(5)Mybatis基础操作(XML)& 简单查询
文章目录
观前提醒:
如果你是第一次点击这篇博客,需要你回看Mybatis系列的这个博客:
Mybatis(4)Mybatis基础操作:删除 & 修改
这篇博客的代码,都是需要自己敲一下的。
建议你看着我说的知识点,自己尝试一下,创建 Springboot项目,使用 Mybatis框架,访问数据库。
这里使用的数据库是 MySQL。
图形化工具:Navicat
sql文件获取:https://gitee.com/mrbgvhbhjv/java-ee-course
1.MyBatis XML配置文件
Mybatis的开发有两种方式:
- 注解
- XML
两种方式的实现步骤:
上⾯学习了注解的方式, 接下来我们学习XML的方式
使用Mybatis的注解方式,主要是来完成⼀些简单的增删改查功能. 如果需要实现复杂的SQL功能,建议使用XML来配置映射语句,
也就是将SQL语句写在XML配置文件中。
MyBatis XML的方式需要以下两步:
- 配置数据库连接字符串和MyBatis
- 写持久层代码
配置连接字符串和MyBatis
此步骤需要进⾏两项设置,数据库连接字符串设置 和 MyBatis 的 XML ⽂件配置。
yml配置文件:
# 数据库连接配置
datasource:
url: jdbc:mysql://127.0.0.1:3306/mybatis_test?characterEncoding=utf8&useSSL=false
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
# 配置打印 MyBatis⽇志
mybatis:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
#配置驼峰⾃动转换
map-underscore-to-camel-case: true
# XML文件映射
mapper-locations: classpath:mapper/**Mapper.xml
properties配置文件:
#驱动类名称
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#数据库连接的url
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/mybatis_test
characterEncoding=utf8&useSSL=false
#连接数据库的用⼾名
spring.datasource.username=root
#连接数据库的密码
spring.datasource.password=root
# 配置 mybatis xml 的⽂件路径,在 resources/mapper 创建所有表的 xml ⽂件
mybatis.mapper-locations=classpath:mapper/**Mapper.xml
XML文件,建议是固定的名字方式:
和配置文件对应上。
如果你是对 User对象,进行增删查改的操作,使用到 xml 的方式实现。
xml的文件命名,建议是:UserMapper
2. 编写第一个 XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="接口路径">
</mapper>
例如:

2.1 装插件:MybatisX

插件的作用:
- 自动实现接口


- 绑定接口和XML文件,支持来回跳转

3. 查询:
3.1 编写 查询 语句,运行代码:

运行结果:

3.2 代码解释:
命名规则:
配置文件 和 xml文件,包名,文件名,要对应起来:

你也可以设置配置文件中,xml文件的命名规则,手动设置成没有限制的:

命名规则,目前可以随便起名字,但是,如果你以后从事开发的工作,你要根据公司的要求,遵守公司提出的命名规则。
返回结果类型:

3.3 报错信息归纳:
xml文件,配置文件(以 yml 为例),参数不一致,就会报错。
总结三点:
1. yml配置文件的配置信息,包名和实际包名不一致

2. yml配置文件的配置信息,命名规则和配置文件的不一致

3. xml文件的namespace接口名字 和 接口的名字,不一致

报错信息:

总结:
看到上述的报错信息,注意 xml文件,配置文件 ,接口的名字,是否相关参数都正确。
4. 查询映射解决方案
使用注解方式,实现接口时,我们讲解了三种查询映射的解决方案:
- 起别名
- @Results & @Result & @ResultMap
- 配置文件,驼峰自动转换(前提是遵守命名规范)
我们使用 XML 的方式,实现接口,也需要解决 查询映射 的问题,有三种方式:
- 起别名
- 使用 ResultMap标签 设置映射规则
- 配置文件,驼峰自动转换(前提是遵守命名规范)
演示如何 使用 ResultMap标签 设置映射规则:
如果要使用这个,建议 对象的属性 和 数据库的字段,写全,全部属性和字段都对应起来。

对比没有设置之前:

总结
总的来说,还是建议使用第三种方式,配置文件,驼峰自动转换(前提是遵守命名规范)的方式,用于 对象的属性和数据表的字段 的映射。
配置文件,自动映射,我开头的配置文件已经配置好了。
5. 总结:
使用 xml 的方式,进行 Mybatis 的开发:
- 配置文件,配置好 xml 的配置信息
- 接口的名字 和 xml文件中namespace 需要对应
- xml文件存在的包名,xml文件的后缀结尾名,要和配置文件中的配置信息,对应起来。
报错信息是这个:
看到上述的报错信息,注意 xml文件,配置文件 ,接口的名字,是否相关参数都正确。
我们使用 XML 的方式,实现接口,也需要解决 查询映射 的问题,有三种方式:
- 起别名
- 使用 ResultMap标签 设置映射规则
- 配置文件,驼峰自动转换(前提是遵守命名规范)
最后,如果这篇博客能帮到你的,请你点点赞,有写错了,写的不好的,欢迎评论指出,谢谢!
下一篇博客:Mybatis(6)XML方式:新增,删除,修改
更多推荐

所有评论(0)