• MyBatis 环境搭建


    MyBatis 环境搭建步骤

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

    6f6162055d354c7faddf2e399d10f93f.png

    67bd34d876c74562aa15af799eb290b6.png

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

    ab6029f6017c47c6ac7d1133476bb8ff.png

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

    1. <dependency>
    2. <groupId>mysqlgroupId>
    3. <artifactId>mysql-connector-javaartifactId>
    4. <version>8.0.16version>
    5. dependency>
    6. <dependency>
    7. <groupId>org.mybatisgroupId>
    8. <artifactId>mybatisartifactId>
    9. <version>3.4.2version>
    10. dependency>

    c9490b7038174e5e87b1ec4b2d00c7c7.png

     4.创建 MyBatis 全局配置文件

    1. "1.0" encoding="UTF-8" ?>
    2. 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

    1. <properties resource="config.properties">properties>

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

    96dfddec95b94049bc09a53afb21a9da.png

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

    fccb001ac384406e8288198308a55bf5.png

    7f7f9fcd7cc94320808cf31460603179.png

    5. 定义接口

      在接口中定义方法:

    public interface UserDao{

     

    }

    • 例如: 

    b6792d8fd8094bf3af0ec0d9d3e5b0b4.png

    6.创建 sql 映射文件

    1.  "1.0" encoding="UTF-8"?>
    2. 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

    读取配置文件:

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

    创建 SqlSessionFactory:

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

    创建 SqlSession:

    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

    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

     

  • 相关阅读:
    Oracel存储过程,分页函数定义,索引建立
    ECCV 2022 超分辨率(super-resolution)方向上接收论文总结(持续更新)
    小程序如何添加打印机来打印订单
    数据分析中数据规范化:小数定标规范化将一列数映射为0-1之间的数
    一文2600字手把手教你编写性能测试用例
    Java集合(三)
    dubbo复习: (5)和springboot集成时的标签路由
    cobbler Centos7
    「详解」看界面控件DevExtreme如何实现异步验证
    echarts静态饼图
  • 原文地址:https://blog.csdn.net/m0_58450531/article/details/128050372