• 【MyBatis笔记01】MyBatis框架介绍以及开发环境搭建


    这篇文章,主要介绍MyBatis框架以及如何搭建MyBatis开发运行环境。

    目录

    一、MyBatis介绍

    1.1、什么是MyBatis

    1.2、为什么会出现MyBatis

    1.3、MyBatis的优缺点

    (1)MyBatis框架优点

    (2)MyBatis框架缺点

    二、搭建MyBatis环境

    2.1、下载依赖

    2.2、创建mybatis配置文件

    2.3、配置数据源

    2.4、创建实体类

    2.5、创建Mapper接口

    2.6、创建Mapper映射文件

    2.7、配置映射文件路径

    2.8、运行测试


    一、MyBatis介绍

    1.1、什么是MyBatis

    MyBatis最开始是叫做:iBatis,随着版本的变化,从iBatis3.x版本之后,就叫做:MyBatis。

    MyBatis是一个使用Java语言编写的持久层框架,它主要是用于操作数据库的一个ORM框架,什么是ORM呢???

    ORM,全称是:Object Relation Mapping,对象关系映射,意思就是将数据库中的记录和Java中的对象进行关联映射。

    MyBatis上一个半自动化的ORM映射框架,什么是半自动化呢???这是因为在MyBatis框架里面,我们需要自己编写对应的SQL语句,而对于全自动化框架来说,全自动化是所有的代码都是框架给我们编写,开发人员不用自己编写一点SQL语句。

    1.2、为什么会出现MyBatis

    为什么会出现MyBatis框架呢???我们先来看下,最原始操作数据库的方式,在JavaWeb开发过程里面,基本都是通过最原始的JDBC操作数据库,使用JDBC的时候,我们需要创建数据库连接,编译SQL,获取到结果集之后还要我们自己将数据库的记录通过Java对象来进行保存。

    通过使用JDBC来操作数据库,需要编写大量重复类似的代码,这就导致整个项目不好维护,并且会使项目变得非常臃肿,为了解决简化JDBC这种代码,就出现了MyBatis框架。

    MyBatis框架本质上就是对JDBC代码的封装,它将JDBC中的创建数据库连接、查询结果集、数据库记录和Java对象映射等操作都进行了统一的封装管理,从而提高了开发效率。

    1.3、MyBatis的优缺点

    (1)MyBatis框架优点

    • 几乎封装了JDBC所有的代码。
    • 支持动态SQL语句。
    • 提高了大量的SQL语句标签。
    • 支持定制化SQL、存储过程、以及高级映射。

    (2)MyBatis框架缺点

    • 需要编写大量的SQL语句。
    • 可移植性差,因为SQL语句都是编写在XML文件里面,如果更换数据库类型之后,就需要重新编写对应的SQL映射文件。

    二、搭建MyBatis环境

    下面介绍如何搭建一个MyBatis开发运行环境。

    2.1、下载依赖

    要使用MyBatis框架,那就需要下载MyBatis对应的jar包,可以通过两种方式引入MyBatis依赖。

    这里我是通过maven进行依赖的下载,因为mybatis框架是操作数据库的,所以还需要引入数据库的依赖,这里我选择的是mysql数据库,完整依赖如下所示:

    1. <dependencies>
    2. <dependency>
    3. <groupId>mysqlgroupId>
    4. <artifactId>mysql-connector-javaartifactId>
    5. <version>8.0.28version>
    6. dependency>
    7. <dependency>
    8. <groupId>org.mybatisgroupId>
    9. <artifactId>mybatisartifactId>
    10. <version>3.5.10version>
    11. dependency>
    12. dependencies>

    2.2、创建mybatis配置文件

    对于一个框架来说,配置文件是必不可少的了,MyBatis框架也有自己的配置文件,一般情况下,MyBatis框架的配置文件可以叫做:【mybatis-config.xml】,但是这个名称也可以是自己定义。

    在【src/main/resources】目录下面,新建一个【mybatis-config.xml】配置文件,配置文件内容如下所示:

    1. configuration
    2. PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    3. "http://mybatis.org/dtd/mybatis-3-config.dtd">
    4. <configuration>
    5. configuration>

    上面就是mybatis框架最基本的配置文件内容结构,之后在里面添加相应的配置内容即可,可以参考【入门_MyBatis中文网】。

    2.3、配置数据源

    MyBatis用于连接数据库的,所以我们要在配置文件里面添加数据源连接信息,这样才能够告诉MyBatis框架应该连接哪个数据库,操作哪个数据库。

    1. configuration
    2. PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    3. "http://mybatis.org/dtd/mybatis-3-config.dtd">
    4. <configuration>
    5. <environments default="development">
    6. <environment id="development">
    7. <transactionManager type="JDBC"/>
    8. <dataSource type="POOLED">
    9. <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
    10. <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
    11. <property name="username" value="root"/>
    12. <property name="password" value=""/>
    13. dataSource>
    14. environment>
    15. environments>
    16. configuration>

    通过上面的数据源连接信息,MyBatis框架就能够知道,它需要连接哪个数据库了。

    2.4、创建实体类

    创建一个【User】实体类对象,这个对象中的属性和数据库中对应表字段对应。数据库中的一条记录,就会对应一个Java实体类对象。

    1. package com.mybatis.demo.domain;
    2. /**
    3. * @author ZhuYouBin
    4. * @version 1.0.0
    5. * @Date: 2022/8/7 15:13
    6. * @Description
    7. */
    8. public class User {
    9. private Integer id;
    10. private String username;
    11. private String password;
    12. public Integer getId() {
    13. return id;
    14. }
    15. public void setId(Integer id) {
    16. this.id = id;
    17. }
    18. public String getUsername() {
    19. return username;
    20. }
    21. public void setUsername(String username) {
    22. this.username = username;
    23. }
    24. public String getPassword() {
    25. return password;
    26. }
    27. public void setPassword(String password) {
    28. this.password = password;
    29. }
    30. }

    2.5、创建Mapper接口

    Mapper接口,就和JDBC里面的DAO接口一样,定义了一些专门用于操作数据库的接口方法。

    1. package com.mybatis.demo.mapper;
    2. import com.mybatis.demo.domain.User;
    3. import java.util.List;
    4. /**
    5. * @author ZhuYouBin
    6. * @version 1.0.0
    7. * @Date: 2022/8/7 15:14
    8. * @Description
    9. */
    10. public interface UserMapper {
    11. /**
    12. * 查询数据库记录
    13. * @return
    14. */
    15. List queryList();
    16. }

    2.6、创建Mapper映射文件

    Mapper映射文件是用于编写SQL语句的,所有操作数据库的SQL语句都编写对应的Mapper映射文件里面,MyBatis执行的时候就会从Mapper文件里面找到对应的SQL语句,然后执行并且返回结果。

    在【src/main/resources】目录下,创建【UserMapper.xml】映射文件,内容如下所示:

    1. mapper
    2. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    3. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    4. <mapper namespace="com.mybatis.demo.mapper.UserMapper">
    5. <select id="queryList" resultType="com.mybatis.demo.domain.User">
    6. select * from user
    7. select>
    8. mapper>

    创建的XML映射需要满足如下规则:

    • namespace要和对应的Mapper接口全类名保持一致。
    • 对应的SQL语句标签的【id】属性值要和Mapper接口中的方法名称保持一致。

    2.7、配置映射文件路径

    当我们创建好对应的Mapper接口和映射文件之后,这个时候还要告诉MyBatis去哪个目录下面找到对应的映射文件,所以就需要通过mybatis的配置较为添加Mapper映射文件的路径配置。

    1. <mappers>
    2. <mapper resource="UserMapper.xml"/>
    3. mappers>

    2.8、运行测试

    到这里,基本上MyBatis的运行环境就搭建好了,现在就可以开始测试MyBatis啦。

    1. package com.mybatis.demo;
    2. import com.mybatis.demo.domain.User;
    3. import com.mybatis.demo.mapper.UserMapper;
    4. import org.apache.ibatis.io.Resources;
    5. import org.apache.ibatis.session.SqlSession;
    6. import org.apache.ibatis.session.SqlSessionFactory;
    7. import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    8. import java.io.IOException;
    9. import java.io.InputStream;
    10. import java.util.List;
    11. /**
    12. * @author ZhuYouBin
    13. * @version 1.0.0
    14. * @Date: 2022/8/7 15:27
    15. * @Description
    16. */
    17. public class MyBatisTest {
    18. public static void main(String[] args) throws IOException {
    19. // 1、加载MyBatis配置文件
    20. InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
    21. // 2、构造 SqlSessionFactoryBuilder
    22. SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
    23. // 3、创建 SqlSessionFactory
    24. SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
    25. // 4、创建 SqlSession
    26. SqlSession sqlSession = sqlSessionFactory.openSession();
    27. // 5、获取Mapper接口
    28. UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
    29. // 6、执行SQL语句
    30. List users = userMapper.queryList();
    31. // 7、打印查询结果
    32. for (User user : users) {
    33. System.out.println(user);
    34. }
    35. // 8、关闭流
    36. is.close();
    37. }
    38. }

    运行上面程序之后,就可以在控制台看到从数据库中查询出来的数据。

    以上,就是MyBatis开发环境的搭建步骤。

    综上,这篇文章结束了,主要介绍MyBatis框架以及如何搭建MyBatis开发运行环境。

    【源代码地址:https://gitee.com/zhuyoubin/ssm_code/tree/master/mybatis/mybatis-demo

  • 相关阅读:
    竞赛 机器视觉人体跌倒检测系统 - opencv python
    ASP.NET二手商品交易系统VS开发sqlserver数据库web结构c#编程计算机网页目
    宠物喂食器芯片方案设计
    网络安全的主要威胁及应对方法
    IDEA创建Sping项目只能勾选17和21,却无法使用Java8
    golang连接池检查连接失败时如何重试
    IO口电路种类
    【算法】迷宫问题
    mysql_my.cnf参数设置说明
    ConcurrentHashMap(JDK1.8)中红黑树的实现
  • 原文地址:https://blog.csdn.net/qq_39826207/article/details/126210897