MyBatis 环境搭建

蔚落 2024-03-31 11:51 186阅读 0赞

MyBatis 环境搭建步骤

1.创建一张表和表对应的实体类

6f6162055d354c7faddf2e399d10f93f.png

67bd34d876c74562aa15af799eb290b6.png

2.创建一个 maven 项目,把项目添加到 git 仓库

  • 创建maven项目 教程见:Maven[项目构建工具]_chen☆的博客-CSDN博客
  • 添加到git仓库:

ab6029f6017c47c6ac7d1133476bb8ff.png

3.在文件 pom.xml 添加 mybiatis 相关依赖(导入 MyBatis jar 包,mysql 数据库驱动包)

  1. <!-- mysql-connector-java -->
  2. <dependency>
  3. <groupId>mysql</groupId>
  4. <artifactId>mysql-connector-java</artifactId>
  5. <version>8.0.16</version>
  6. </dependency>
  7. <dependency>
  8. <groupId>org.mybatis</groupId>
  9. <artifactId>mybatis</artifactId>
  10. <version>3.4.2</version>
  11. </dependency>

c9490b7038174e5e87b1ec4b2d00c7c7.png

4.创建 MyBatis 全局配置文件

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTDConfig3.0//EN" "https://mybatis.org/dtd/mybatis-3-config.dtd">
  3. <configuration>
  4. <environments default="development">
  5. <environment id="development">
  6. <transactionManager type="JDBC"/>
  7. <dataSource type="POOLED">
  8. <property name="driver" value="${classDrvierName}"/>
  9. <property name="url" value="${url}"/>
  10. <property name="username" value="${uname}"/>
  11. <property name="password" value="${pwd}"/>
  12. </dataSource>
  13. </environment>
  14. </environments>
  15. </configuration>
  • type=”POOLED” 数据库连接池,可以理解为一个集合,假设我们事先在集合中创建5个connection对象放到集合中,有请求要与数据库连接,就可以从池子里直接拿一个connection对象去与数据库连接,用完后不要真正意义上把这个对象销毁,而是放到池子中,假设有5个请求同时来了,也就用这5个创建好的对象就可以了,不用再创建新的,假如访问量比较大,这5个对象都在用,它也有一套机制来处理,比如说让后面来的连接请求先等待一会,如果还没有空闲的,再创建新的对象
  • 我们可以把项目中所有值都提取到一个属性配置文件中(.properties文件),该文件应放在resources目录下,以后要改配置信息就只需要改此文件中的信息,注意在核心配置文件(在我们这里就是mybatis-config.xml文件)中配置此文件7e1c07d143084f8181732d5f99392708.png

放在resources目录下,创建一个file文件,名字可以随便起,后缀名以xml结尾:

96dfddec95b94049bc09a53afb21a9da.png

例如:创建全局配置文件mybatis-config.xml

fccb001ac384406e8288198308a55bf5.png

7f7f9fcd7cc94320808cf31460603179.png

  1. 定义接口

在接口中定义方法:

public interface UserDao{

}

  • 例如:

b6792d8fd8094bf3af0ec0d9d3e5b0b4.png

6.创建 sql 映射文件

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="接口地址">
  5. 定义 sql 语句
  6. </mapper>
  • 在resources目录下创建文件夹(Directory)命名为 mappers ,在文件夹中再创建一个文件,名为AdminMappers.xml(这个文件就是专门用来为admin提供映射的)

3ce147e89a624c80bc39113fa1576538.png

e78e92018b674df290b0228146d07e71.png

创建后要在mybatis-config.xml核心配置文件中进行配置:

f163e0540a4c4eb5b1fdb20a6545d899.png

7.测试MyBatis

e489d054e7304f5cbc8c4a238aa0f5a9.png

9b675b58ba06411a9424436930378f8c.png

读取配置文件:

  1. Reader reader = Resources.getResourceAsReader("mybatis-config.xml");

创建 SqlSessionFactory:

  1. SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);

创建 SqlSession:

  1. SqlSession sqlSession = sessionFactory.openSession();

获得接口代理对象:

  1. sqlSession.getMapper(接口.class);
  2. sqlSession .close();关闭

API 接口说明

SqlSessionFactory 接口

  • SqlSessionFactory 主要用来创建 SqlSession对象,由于SqlSessionFactory 对象创建开销较大,所以 SqlSessionFactory 一旦创建就会在整个应用过程中始终存在,没有理由去销毁再创建它,一个应用运行中也不建议多次创建 SqlSessionFactory。

SqlSession 接口

  • Sqlsession 用来每次与数据库会话使用,每与数据库交互一次,就需要创建一个 Sqlsession ,该接口中封装了对数据库操作的方法,与数据库会话完成后关闭会话。

Mybatis-Dao 层 Mapper 接口化开发

Mapper 接口开发方式只需要程序员编写 Mapper 接口,由 Mybatis 框架创建接口的动态代理对象,然后由动态代理对象调用与接口中方法名相同的 id 的 sql

  1. sqlsession.getMapper(接口.class); //获得代理对象

Mapper 接口开发需要遵循以下规范:

1、 Mapper.xml 文件中的 namespace 与 mapper 接口的类路径相同.

2、 Mapper 接口方法名和 Mapper.xml 中定义的每个 statement 的 id 相同.

3、 Mapper 接口方法的输入参数类型和 mapper.xml 中定义的每个 sql 的 parameterType 的类型相同.

4、 Mapper 接口方法的输出参数类型和 mapper.xml 中定义的每个 sql 的 resultType 的类型相同.

c218991dcf274a04b13291f53cfef0b0.png

发表评论

表情:
评论列表 (有 0 条评论,186人围观)

还没有评论,来说两句吧...

相关阅读