【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开发存在的问题:
- 数据库连接创建、释放频繁造成系统资源浪费从而影响系统性能。
- Sql 语句在代码中硬编码,造成代码不易维护,实际应用 sql 变化的可能较大,sql 变动需要改变java代码。
- 查询操作时,需要手动将结果集中的数据手动封装到实体中。插入操作时,需要手动将实体的数据设置到sql语句的占位符位置。
解决方案:持久层框架:
- 使用数据库连接池初始化连接资源。
- 将sql语句抽取到xml配置文件中。
- 使用反射、内省等底层技术,自动将实体与表进行属性与字段的自动映射。
📝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开发步骤小结:
-
在 pom.xml 文件中导入MyBatis的坐标和其他相关坐标
-
创建测试需要的user数据表
-
创建User实体类
-
创建 UserMapper.xml 映射文件
-
创建MyBatis核心文件 SqlMapConfig.xml
-
编写测试代码