学习MyBatis必知必会(2)~MyBatis基本介绍和MyBatis基本使用

简介: 学习MyBatis必知必会(2)~MyBatis基本介绍和MyBatis基本使用

一、MyBatis框架基本介绍:

1、认识 MyBatis:

  • MyBatis 是支持普通 SQL 查询,存储过程和高级映射的持久层框架,严格上说应该是一个 SQL 映射框架
  • 前身是 iBatis,也就是淘宝使用的持久层框架
  • 几乎所有的 JDBC 代码和参数的手工设置以及结果集的处理都可以交给 MyBatis 完成, 而这只需要简单的使用 XML或注解配置 就可以完成。
  • 和 Hibernate 相比更简单、更底层、性能更优异,因此更深入人心,更受企业的青睐。


2、下载地址和文档:

                      http://mybatis.org/spring/zh/index.html


二、MyBatis 基本使用

1、开发步骤一:拷贝jar包

■ 项目拷贝jar记得先建立一个lib目录

  • mysql连接驱动jar包【MyBatis底层是jdbc】
  • myBatis.jar


2、开发步骤二:编写配置文件【主配置文件和映射文件】

2-1、了解一下MyBatis的配置文件(两种---主配置文件和映射文件):

(1)MyBatis全局配置文件/主配置文件:
  • 起名:不固定,但是需要见名知意,例如:mybatis-config.xml
  • 路径:classpath 的根路径
  • 参考文档:mybatis中文官网的xml配置章节
✿ MyBatis全局配置文件内容:

① 全局配置信息

② 属性配置信息

③ 插件配置信息

配置环境信息事务+连接池

关联映射文件


(2) MyBatis 映射文件/Mapper文件:
  • 起名:不固定,但是需要见名知意,例如:XXXMapper.xml,是哪一个对象的映射文件,例如UserMapper.xml
  • 路径:Mapper 文件应该放到 Mapper接口的路径咱暂时放到domain位置
  • 参考文档:mybatis中文官网的xml映射文件章节
✿ MyBatis 映射文件内容:

编写增删改查sql,把sql存放到insert| update| delete| select 元素中去

结果集映射:解决表中的列和对象属性不匹配问题

③ 缓存配置


2-2、配置文件的约束文件【约束文件在入门章节】:

//mybatis主配置文件 [例如mybatis-config.xml] 的约束文件---mybatis-3-config.dtd 【连网状态它会自动下载】
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
 //mybatis映射文件 [例如UserMapper.xml] 的约束文件---mybatis-mapper.dtd 【连网状态它会自动下载】
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">


■ 关联本地文件,以防止网络不好下载失败


56.png


2-3、编写主配置文件和映射文件内容

✿ 全局/主配置文件[mybatis-config.xml文件]:
  • 配置环境信息事务+连接池
  • 关联映射文件
<configuration>
    <environments default="dev">
    <!-- 开发环境:在以后的事务管理器和链接池都是交给spring框架来管理的 -->
      <!-- 1、配置数据库的环境 -->
      <environment id="dev">
        <!-- ① 事务管理器 -->
        <transactionManager type="JDBC"/>
        <!-- ② 连接池【连接数据库4要素】 -->
        <dataSource type="POOLED">
          <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
          <property name="url" value="jdbc:mysql://localhost:3306/mybatisdemo"/>
          <property name="username" value="root"/>
          <property name="password" value="admin"/>
        </dataSource>
      </environment>
  </environments>
    <!-- 2、关联映射文件  -->
  <mappers>
  <!-- 全局的配置文件是在项目输出路径bin目录下 -->
  <!-- classpath路径(默认项目输出路径是bin【即编译成class字节码的文件夹bin,未编译前是在源码src】) -->
    <mapper resource="com/shan/hello/UserMapper.xml"/>
  </mappers>
  </configuration>


✿ 映射文件[UserMapper.xml文件]:
  • 编写增删改查的sql
<!-- namespace 命名空间:是对应的Mapper接口的全限定名称,咱暂时写类的全限定名称
      不同的mappe文件的namespace是不一样的。
      mapper的namespace结合id属性【namespace.id】唯一地表示了应用中某一条sql语句。
   -->
  <mapper namespace="com.shan.hello.UserMapper">
      <!-- select标签:用来编写查询sql语句
        id: 唯一的标识符,标识被引用的这条sql语句
    parameterType:表示执行该sql语句需要的参数类型,建议不屑,MyBatis可以自行推断出来
    resultType:把结果集中的每一行数据封装成什么类型的对象
       -->
    <select id="get" parameterType="java.lang.Long" resultType="com.shan.hello.User">
      select * from t_user where id = #{id}
    </select>
</mapper>


3、开发步骤三:编写测试代码,测试myBatis执行增删改查操作:

  • 以查询为例:
    加载配置文件
    创建会话工厂对象SqlSessionFactory【好比连接池DataSource】
    通过会话工厂创建会话对象SqlSession【好比连接对象Connection】
    执行crud操作
    关闭资源
public void testGet() throws IOException {
    //1、从classpath路径加载mybatis全局配置文件mybatis-config.xml
    InputStream in = Resources.getResourceAsStream("mybatis-config.xml");
    //2、创建SqlSessoinFactory会话工厂对象,好比连接池DataSource
    SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
    //3、创建SqlSession会话对象,好比连接对象Connection
    SqlSession session = factory.openSession();
    //4、进行数据库操作(CRUD)
    User user = session.selectOne("com.shan.hello.UserMapper.get", 300L);
      System.out.println(user);
    //5、关闭资源
    session.close();
  }


❀ 总结:开发流程-拷贝jar包,编写配置文件,然后进行测试


目录
相关文章
|
1月前
|
Java 关系型数据库 MySQL
springboot学习五:springboot整合Mybatis 连接 mysql数据库
这篇文章是关于如何使用Spring Boot整合MyBatis来连接MySQL数据库,并进行基本的增删改查操作的教程。
57 0
springboot学习五:springboot整合Mybatis 连接 mysql数据库
|
2月前
|
Java 关系型数据库 数据库连接
mybatis-plus学习
MyBatis-Plus ,MyBatis 最佳搭档,只做增强不做改变,为简化开发、提高效率而生。
46 5
|
3月前
|
安全 Java 数据库连接
后端框架的学习----mybatis框架(3、配置解析)
这篇文章详细介绍了MyBatis框架的核心配置文件解析,包括环境配置、属性配置、类型别名设置、映射器注册以及SqlSessionFactory和SqlSession的生命周期和作用域管理。
后端框架的学习----mybatis框架(3、配置解析)
|
3月前
|
Java 数据库连接 mybatis
后端框架的学习----mybatis框架(9、多对一处理和一对多处理)
这篇文章介绍了在MyBatis框架中如何处理多对一和一对多的关联查询,通过定义`<resultMap>`和使用`<association>`与`<collection>`元素来实现对象间的关联映射。
|
3月前
|
Java 数据库连接 测试技术
后端框架的学习----mybatis框架(8、lombok)
这篇文章介绍了如何在MyBatis框架中使用lombok库来简化Java实体类的编写,包括在IDEA中安装Lombok插件、在项目中导入lombok依赖以及在实体类上使用Lombok提供的注解。
|
3月前
|
Java 数据库连接 数据库
后端框架的学习----mybatis框架(6、日志)
这篇文章介绍了如何在MyBatis框架中使用日志功能,包括配置MyBatis的日志实现、使用log4j作为日志工具,以及如何通过配置文件控制日志级别和输出格式。
|
3月前
|
SQL Java 数据库连接
后端框架的学习----mybatis框架(5、分页)
这篇文章介绍了如何在MyBatis框架中实现分页功能,包括使用SQL的`limit`语句进行分页和利用MyBatis的`RowBounds`对象进行分页的方法。
|
3月前
|
SQL Java 数据库连接
后端框架的学习----mybatis框架(7、使用注解开发)
这篇文章讲述了如何使用MyBatis框架的注解方式进行开发,包括在接口上使用注解定义SQL语句,并通过动态代理实现对数据库的增删改查操作,同时强调了接口需要在核心配置文件中注册绑定。
|
6月前
|
SQL Java 数据库连接
【Mybatis】深入学习MyBatis:概述、主要特性以及配置与映射
【Mybatis】深入学习MyBatis:概述、主要特性以及配置与映射
【Mybatis】深入学习MyBatis:概述、主要特性以及配置与映射
|
5月前
|
Java 数据库连接 Maven
Mybatis学习
Mybatis学习
27 0