1. 开发环境
-
IDE:IDEA
-
构建工具:maven4.0.0
-
MySQL版本:8.0.11、
记得创建好数据库
-
Mybatis版本:3.5.7
MySQL不同版本的注意事项
驱动类driver-class-name
MySQL 5版本使用jdbc5驱动,驱动类使用:com.mysql.jdbc.Driver
MySQL 8版本使用jdbc8驱动,驱动类使用:com.mysql.cj.jdbc.Driver
连接地址url(下面url中ssm是我的数据库名,记得更改)
MySQL 5版本的url:jdbc:mysql://localhost:3306/ssm
MySQL 8版本的url:jdbc:mysql://localhost:3306/ssm?useSSL=false
useSSL=false:不使用安全连接方式。我是不加的话会报错,看情况加了
注意:localhost也可以换成自己数据库IP地址,像120.77.92.117
2. 创建maven工程
可以先跳到总结看看整个项目目录和代码的执行过程,先大概了解每个文件。
以下代码都写在配置文件pom.xml中。
-
打包方式:jar
<packaging>jar</packaging> <!--打包方式:jar包-->
-
引入依赖
<dependencies> <!--mybatis 依赖--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.10</version> </dependency> <!--mysql 驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.11</version> </dependency> <!--junit 单元测试--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.1</version> <scope>test</scope> </dependency> </dependencies>
3.创建实体类:
数据库t_user表字段:
User类中的属性与数据库中对应,记得写上构造方法与get、set方法。
![202208172333042.png](https://tian-cloudimg.oss-cn-fuzhou.aliyuncs.com/blog/202208180219261.png)
4. 创建Mybatis的核心配置文件
-
习惯上命名为
mybatis-config.xml
,这个文件名仅仅只是建议,并非强制要求。 -
核心配置文件存放的位置是
src/main/resources
目录下 -
核心配置文件主要用于
配置连接数据库的环境
以及MyBatis的全局配置信息
。
那么mybatis-config.xml要怎么写呢?? 官网给了我们一个简单示例。
这是我的配置代码:
![202208172333045.png](https://tian-cloudimg.oss-cn-fuzhou.aliyuncs.com/blog/202208180223361.png)
5. 创建mapper接口
接口起名规则:实体类的类名+Mapper
![202208172333046.png](https://tian-cloudimg.oss-cn-fuzhou.aliyuncs.com/blog/202208180223847.png)
6. 创建Mybatis的映射文件
MyBatis映射文件用于编写SQL,访问以及操作表中的数据。
相关概念:ORM(Object Relationship Mapping)对象关系映射。
-
对象:Java的实体类对象
-
关系:关系型数据库
-
映射:二者之间的对应关系
映射文件的命名规则:
表所对应的实体类的类名+Mapper.xml。一般与mapper接口同名
例如:表t_user,映射的实体类为User,所对应的映射文件为UserMapper.xml
因此一个映射文件对应一个实体类,对应一张表的操作
MyBatis映射文件存放的位置是src/main/resources/mappers目录下
MyBatis中可以面向接口操作数据,要保证两个一致:
mapper接口的全类名和映射文件的命名空间(namespace)保持一致
mapper接口中方法的方法名和映射文件中编写SQL的标签的id属性保持一致
不太理解两个一致的,没关系,后面总结时再具体解释说明一下
<?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="com.atguigu.mybatis.mapper.UserMapper">
<insert id="insertUser">
insert into t_user values(null,'admin','123456',23,'男','[email protected]')
</insert>
</mapper>
不要忘了,我们前面在配置核心时mybatis-config.xml没有引入Mybatis映射文件。现在我们已经创建了映射文件,所以要补充上
![image-20220817213014244](https://tian-cloudimg.oss-cn-fuzhou.aliyuncs.com/blog/202208180224860.png)
7.运行结果
![image-20220817233736308](https://tian-cloudimg.oss-cn-fuzhou.aliyuncs.com/blog/202208180224613.png)
![image-20220817233817316](https://tian-cloudimg.oss-cn-fuzhou.aliyuncs.com/blog/202208180224771.png)
8. 总结
使用Mybatis实现简单的数据库插入操作,我们要编写的只有这6个文件:
![2022-08-17_223422](https://tian-cloudimg.oss-cn-fuzhou.aliyuncs.com/blog/202208180224766.png)
我们看看插入操作时,代码执行的主要过程是什么样的:
![无标题](https://tian-cloudimg.oss-cn-fuzhou.aliyuncs.com/blog/202208180224797.png)
还记得映射文件中两个一致吗??
-
mapper接口的全类名和映射文件的命名空间(namespace)保持一致
-
mapper接口中方法的方法名和映射文件中编写sql的标签的id属性保持一致
看到执行过程后,应该明白了吧。
部分内容来自 B站尚硅谷课程 。老师讲得很好,有兴趣的可以听听。
标签:文件,实体类,入门,映射,mapper,--,MySQL,Mybatis From: https://www.cnblogs.com/tianaqiang/p/16597415.html