前言
攒一个MyBatis快速入门,MP用的多,但对于MyBatis还不够了解,学习之。
写了两个Demo,分别是不用框架和用Spring。
介绍
MyBatis 是一款持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO为数据库中的记录。
下面以两个示例演示如何构建基于MyBatis的应用。
数据准备
假设有一个学生表(students),包含以下字段:
- id (主键,自增)
- name (学生姓名)
- age (学生年龄)
- grade (学生年级)
| 1 | // author: SilenceZheng66 | 
1、不用框架构建基于MyBatis的应用
1. 安装MyBatis
下载MyBatis的jar包并放置于类路径中。此外还需要mysql-connector-java。
2. 编写MyBatis配置文件 mybatis-config.xml
当使用MyBatis框架时,如果将配置文件命名为mybatis-config.xml,那么MyBatis会默认去加载这个文件作为配置文件。否则需要在代码中显式指定配置文件的名称,通过SqlSessionFactoryBuilder的build方法。
| 1 | 
 | 
3. 编写映射文件 StudentMapper.xml
简单的查找。注意配置文件通常放在resources目录下,例如src/main/resources。1
2
3
4
5
6
7
8
9
10
<mapper namespace="mybatis.simple.StudentMapper">
    <select id="getAllStudents" resultType="mybatis.simple.Student">
        SELECT * FROM students
    </select>
</mapper>
4. 编写实体类 Student.java
用了一下Lombok,也加进类路径就可以了。
| 1 | // author: SilenceZheng66 | 
5. 编写数据访问接口 StudentMapper
| 1 | // author: SilenceZheng66 | 
6. 编写数据访问接口实现类
| 1 | // author: SilenceZheng66 | 
7. 编写主程序
| 1 | package mybatis.simple; | 
2、 用Spring Boot构建基于MyBatis的应用
从一个空Maven项目开始。
1. 引入依赖
| 1 | <dependencies> | 
2. 在 application.properties 配置数据库
| 1 | spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase | 
3. 创建实体类
| 1 | // author: SilenceZheng66 | 
4. 创建 Mapper 接口和对应的 XML 映射文件。
| 1 | // author: SilenceZheng66 | 
XML映射文件放置在resources下的mapper目录中。
| 1 | 
 | 
5. 编写服务类
| 1 | // author: SilenceZheng66 | 
@Autowired表示需要通过自动装配的方式将 StudentMapper 对象注入到 StudentService 类中。
6. 编写控制器
| 1 | // author: SilenceZheng66 | 
7. 编写入口类
| 1 | // author: SilenceZheng66 | 
启动后访问:http://localhost:8080/students即可查看学生信息。
参考
[1] https://mybatis.org/mybatis-3/zh/getting-started.html
[2] https://www.liaoxuefeng.com/wiki/1252599548343744/1260466914339296
后记
通过mybatis-spring-boot-starter配置MyBatis比原版有了一些便利,例如通过注解指定Mapper类扫描路径自动注册、自动配置SqlSessionFactory、自动注入Mapper实例等。
首发于 silencezheng.top,转载请注明出处。
 
		 
                      