> 文档中心 > 【SSM直击大厂】第十二章:MyBatis 快速入门

【SSM直击大厂】第十二章:MyBatis 快速入门


 🙊🙊作者主页:🔗求不脱发的博客

📔📔 精选专栏:🔗SSM直击大厂

📋📋 精彩摘要:MyBatis 是一款优秀的持久层框架,它支持定制化 SQL存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。

💞💞觉得文章还不错的话欢迎大家点赞👍➕收藏⭐️➕评论💬支持博主🤞


📚目录

📖MyBatis 快速入门

📝1️⃣揭秘 MyBatis

        ✨什么是MyBatis?

        ✨为什么使用MyBatis?

📝2️⃣MyBatis的快速入门

        ✨MyBatis开发步骤:

        ✨MyBatis开发步骤小结:


📖MyBatis 快速入门


📝1️⃣揭秘 MyBatis

什么是MyBatis?

百度介绍

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。

特点

  • 简单易学:本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件。易于学习,易于使用。通过文档和源代码,可以比较完全的掌握它的设计思路和实现。
  • 灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。 sql写在xml里,便于统一管理和优化。通过sql语句可以满足操作数据库的所有需求。
  • 解除sql与程序代码的耦合:通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。
  • 提供映射标签,支持对象与数据库的orm字段关系映射。
  • 提供对象关系映射标签,支持对象关系组建维护。
  • 提供xml标签,支持编写动态sql。

为什么使用MyBatis?

问题引入:首先对原始JDBC操作分析

原始jdbc开发存在的问题:

  1.  数据库连接创建、释放频繁造成系统资源浪费从而影响系统性能。
  2.  Sql 语句在代码中硬编码,造成代码不易维护,实际应用 sql 变化的可能较大,sql 变动需要改变java代码。
  3.  查询操作时,需要手动将结果集中的数据手动封装到实体中。插入操作时,需要手动将实体的数据设置到sql语句的占位符位置。

解决方案:持久层框架

  1. 使用数据库连接池初始化连接资源。
  2. 将sql语句抽取到xml配置文件中。
  3. 使用反射、内省等底层技术,自动将实体与表进行属性与字段的自动映射。

📝2️⃣MyBatis的快速入门

MyBatis开发步骤:

1. 在 pom.xml 文件中导入MyBatis的坐标和其他相关坐标

       junit     junit     4.11     test        mysql     mysql-connector-java     8.0.25        org.mybatis     mybatis     3.4.6 

2. 创建测试需要的user数据表

3. 创建User实体类

package com.mybatis.domain;public class User {    private int id;    private String username;    private String password;    @Override    public String toString() { return "User{" +  "id=" + id +  ", username='" + username + '\'' +  ", password='" + password + '\'' +  '}';    }    public int getId() { return id;    }    public void setId(int id) { this.id = id;    }    public String getUsername() { return username;    }    public void setUsername(String username) { this.username = username;    }    public String getPassword() { return password;    }    public void setPassword(String password) { this.password = password;    }}

4. 创建 UserMapper.xml 映射文件

         select * from user    

5. 创建MyBatis核心文件 SqlMapConfig.xml

                                                          

6. 测试代码

public class test {    @Test    //查询操作测试    public void test1() throws IOException { //加载核心配置文件 InputStream resource = Resources.getResourceAsStream("SqlMapConfig.xml"); //获得Session工厂 SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(resource); //获取sqlSession SqlSession sqlSession = sessionFactory.openSession(); //执行sql语句     nameSpace + id  = userMapper.findAll List userList = sqlSession.selectList("userMapper.findAll"); //打印数据测试结果 System.out.println(userList); //释放资源 sqlSession.close();    }}

执行结果


MyBatis开发步骤小结:

  1. 在 pom.xml 文件中导入MyBatis的坐标和其他相关坐标

  2. 创建测试需要的user数据表

  3. 创建User实体类

  4. 创建 UserMapper.xml 映射文件

  5. 创建MyBatis核心文件 SqlMapConfig.xml

  6. 编写测试代码