SpringBoot整合Mybatis之入门篇

使用springboot整合mybatis使用

数据库的出现就是为了将数据进行持久化,而不是简单的将其保存在内存中,因为一旦断电或者是数据需要转移,这是无法实现的。

所以数据库的出现就是为了将其保存到数据库中,方便再次进行使用。

mybatis无法像hibernate映射那么完整,但是仍然是一个关系型数据库。也被称之为是ORM框架,但是和hibernate相比,无法实现全自动,因为对于hibernate来说,不需要管SQL语句怎么编写,其会来做自动映射。但是mybatis需要手动来进行映射,而且需要编写对应的SQL语句,但是这种却更加方便我们的自定义化操作,方便修改SQL以及与pojo类和数据库表中的字段进行映射。

官方文档定义:

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

数据库版本和驱动对应

https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-versions.html

Connector/J 5.1 is a Type 4 pure Java JDBC driver, which conforms to the JDBC 3.0, 4.0, 4.1, and 4.2 specifications. It provides compatibility with all the functionality of MySQL, including 5.6, 5.7 and 8.0. 

我的服务器使用的是MySQL版本是8.0.26,属于8.0版本的,所以可以使用MySQL数据库驱动5.1的。

image-20211129000600393

可以看到,我这里可以使用5.1的,也可以使用8.0的,但是因为有jdk版本要求。本地使用8,无影响。所以随便选择。

一些简单的复制操作:

1、找到驱动的完整限定类型

image-20211129001250041

2、对应的URL

image-20211129001328303

上面这张图有两个作用对于现在来说。

1、测试是否可以正常连接到数据库;

2、拷贝URL路径;

可能还能生成对应的实体类之类的操作,但是现在是不需要这样子来进行操作的。

从 XML 中构建 SqlSessionFactory

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
  <environments default="development">
    <environment id="development">
      <transactionManager type="JDBC"/>
      <dataSource type="POOLED">
        <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
        <property name="username" value="root"/>
        <property name="password" value="123456"/>
      </dataSource>
    </environment>
  </environments>
  <mappers>
    <mapper resource="org/mybatis/example/BlogMapper.xml"/>
  </mappers>
</configuration>

给文件起个名字,然后将里面的配置信息改一改即可。

那么此时做完上面的修改配置,就已经具备了连接数据库的能力了。那么接下来可以来进行其他的操作。

一般来说,操作顺序是创建数据库表所对应的实体类,然后创建出来对应的mapper接口。就这么两个步骤。

那么接着去官网来进行操作

首先创建实体类:

public class Emp {
    private Long id;
    private String name;
    // 省略get/set方法
}

创建对应的mapper.xml文件,这里需要注意的是,如果使用了maven,那么需要将其创建在resource目录下,在编译后的target目录下,可以看到EmpMapper.xml和对应的EmpMaaper接口是在同一级目录下,所以使用了maven之后,在resource目录下新建和EmpMapper文件相同的路径,打包后会编译到相同路径下。如果没有使用maven,那么可以将EmpMapper.xml直接建立在相同目录下。在springboot中可以自定义mapper对应的xml文件所对应的文件目录所在的位置。

:xml文件中的namespace要填写mapper接口对应的相对路径,

posted @ 2021-11-28 20:35  写的代码很烂  阅读(144)  评论(0编辑  收藏  举报