前言
攒一个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,转载请注明出处。