• MyBatis主要的类层次结构(Mybatis工具类)


     MyBatis主要的类层次结构

    每一个MyBatis的应用程序都以一个SqlSessionFactory 对象的实例为核心 。

    SqlSessionFactory对象的实例可以通过SqlSessionFactoryBuilder对象来获得 。  

    SqlSessionFactoryBuilder对象可以从 XML 配置文件中构建 SqlSessionFactory对象。

    1. package org.example.utils;
    2. import org.apache.ibatis.io.Resources;
    3. import org.apache.ibatis.session.SqlSession;
    4. import org.apache.ibatis.session.SqlSessionFactory;
    5. import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    6. import java.io.IOException;
    7. import java.io.InputStream;
    8. public class MybatisUtil {
    9. private static SqlSessionFactory sqlSessionFactory;
    10. static {
    11. try {
    12. InputStream in = Resources.getResourceAsStream("mybatis-config.xml");
    13. sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
    14. } catch (IOException e) {
    15. throw new RuntimeException(e);
    16. }
    17. }
    18. public static SqlSession getSqlSession() {
    19. return sqlSessionFactory.openSession();
    20. }
    21. }

    通过SqlSessionFactory对象,可以获得SqlSession的实例。  

    SqlSession 对象完全包含以数据库为背景的所有执行 SQL 操作的方法。你可以用 SqlSession 实例来直接执行已映射的 SQL 语句 。

    第一个MyBatis程序

    创建实体类User和映射器接口 

     

    MyBatis中使用Mapper接口的具体要求:

    Mapper接口的全限定名为映射文件的namespace的值

    Mapper接口的方法名称和映射文件中定义的每个sql的id相同

    Mapper接口的方法参数和映射文件中定义每个sql的parameterType类型相同 Mapper接口的方法返回的单个对象类型和映射文件中定义的每个sql的resultType类型相同 

    创建MyBatis的主配置文件mybatis.xml  

    创建MyBatis的主配置文件mybatis.xml 在工程中新建Source Folder命名为resources来专门存放MyBatis的主配置文件,在resources中新建XML File命名为mybatis.xml 

    创建MyBatis的SQL映射XML文件 

    创建MyBatis的SQL映射XML文件,并且映射文件要同刚才创建的映射器接口在同一包中,与映射器接口命名也相同,所以映射文件名为UserMapper.xml 

    注意:要将映射文件关联到主配置文件 

    将SQL映射文件与主配置文件进行关联
    1. "1.0" encoding="UTF-8" ?>
    2. configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
    3. <configuration>
    4. <environments default="development">
    5. environments>
    6. <mappers>
    7. <mapper resource="org/mybatis/example/BlogMapper.xml"/>
    8. mappers>
    9. configuration>

    映射器(mappers)用来配置多个映射文件的位置, 有多种配置方式。

    1. <mapper resource="org/mybatis/builder/AuthorMapper.xml"/>
    2. <mapper class="org.mybatis.builder.AuthorMapper"/>
    3. <package name="org.mybatis.builder"/>
    编写代码进行测试 
    1. SqlSession session = MyBatisUtil.openSqlSession();
    2. List users = session.selectList("com.mybatis.mapper.UserMapper.selectAllUsers");
    3. for(User u : users) {
    4. System.out.println(u);
    5. }
    6. session.close();

     

  • 相关阅读:
    关于Vuex的基础使用存值及异步
    【Vue】vuex mapActions和mapMutations
    STL算法——常用拷贝和替换算法(copy、replace、replace_if、swap)
    【虚拟机】【ssh】本地ssh连接虚拟机 - Xshell配置与虚拟机ip配置
    Linux实战记录
    Android12源码编译报错ninja: build stopped: subcommand failed.解决
    MySQL中的内置函数
    设计模式之兼容不同厂家的相机
    http: server gave HTTP response to HTTPS client 分析一下这个问题如何解决中文告诉我详细的解决方案
    DataGuard日常维护常见问题之数据同步异常
  • 原文地址:https://blog.csdn.net/LIUCHANGSHUO/article/details/137176481