首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
Spring Boot 简介
Spring Boot 的优点
Spring Boot 的开发环境搭建
Maven的安装和使用
Spring Boot 核心概念
Spring Boot 的自动配置
Spring Boot 的起步依赖
Spring Boot 的配置文件详解
Spring Boot 的注解详解
Spring Boot 的Web模块介绍
SpringBoot中Controller的使用
Spring Boot中的RESTful API的设计
Spring Boot中实现接收和发送JSON数据
Spring Boot实现文件上传和下载
Spring Boot与Thymeleaf模板引擎整合
Spring Boot与Vue.js整合
Spring Boot的JDBC模块详解
Spring Boot与MyBatis的整合
Spring Boot数据库事务的处理
Spring Boot数据库连接池的配置
Spring Boot的缓存模块
Spring Boot的日志管理
Spring Boot的打包和部署
当前位置:
首页>>
技术小册>>
SpringBoot零基础到实战
小册名称:SpringBoot零基础到实战
MyBatis是一个开源的持久化框架,可以将Java对象映射到关系数据库中,提供了方便的数据库操作接口,让开发人员可以更加专注于业务逻辑的实现。 本文将介绍如何在Spring Boot中使用MyBatis,以及如何进行整合。我们将使用MySQL作为关系数据库,并演示如何使用MyBatis进行基本的CRUD操作。 **环境搭建** 在开始整合Spring Boot和MyBatis之前,需要先搭建好相关的环境。具体步骤如下: 1.安装MySQL数据库。可以从官网上下载MySQL Community Server,并按照安装指南进行安装。安装完成后,可以通过MySQL Workbench等工具连接到数据库。 2.创建数据库和表。在MySQL Workbench中执行以下SQL语句: ```asp CREATE DATABASE mybatis_demo; USE mybatis_demo; CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50), email VARCHAR(50), age INT ); ``` 3.添加相关依赖。在pom.xml中添加以下依赖: ```asp <dependencies> <!-- Spring Boot dependencies --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- MyBatis dependencies --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.2.0</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.27</version> </dependency> </dependencies> ``` **整合MyBatis** 在添加了相关依赖后,就可以开始整合MyBatis了。下面将介绍具体步骤: 1.创建MyBatis配置文件。在src/main/resources目录下创建一个mybatis-config.xml文件,用于配置MyBatis的一些属性和插件。具体内容如下: ```asp <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <settings> <setting name="mapUnderscoreToCamelCase" value="true"/> </settings> </configuration> ``` 这里设置了一个属性,用于将数据库中下划线分隔的列名转换为Java驼峰命名的属性名。 2.创建Mapper接口和Mapper XML文件。在src/main/java/com/example/demo/mapper目录下创建一个UserMapper接口,用于定义数据库操作的方法。具体内容如下: ```asp package com.example.demo.mapper; import com.example.demo.entity.User; import java.util.List; public interface UserMapper { List<User> findAll(); User findById(int id); void save(User user); void update(User user); void delete(int id); } ``` 这里定义了五个方法,分别对应基本的CRUD操作。 接着,在src/main/resources目录下创建一个UserMapper.xml文件,用于定义SQL语句和映射关系。具体内容如下: ```asp <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.example.demo.mapper.UserMapper"> <resultMap id="userMap" type="com.example.demo.entity.User"> <id property="id" column="id" /> <result property="name" column="name" /> <result property="email" column="email" /> <result property="age" column="age" /> </resultMap> <select id="findAll" resultMap="userMap"> SELECT * FROM users </select> <select id="findById" parameterType="int" resultMap="userMap"> SELECT * FROM users WHERE id = #{id} </select> <insert id="save"> INSERT INTO users (name, email, age) VALUES (#{name}, #{email}, #{age}) </insert> <update id="update"> UPDATE users SET name = #{name}, email = #{email}, age = #{age} WHERE id = #{id} </update> <delete id="delete" parameterType="int"> DELETE FROM users WHERE id = #{id} </delete> </mapper> ``` 这里定义了五个SQL语句,分别对应基本的CRUD操作。同时,也定义了一个resultMap用于映射查询结果到Java对象。 3.创建Mapper接口实现类。在src/main/java/com/example/demo/mapper目录下创建一个UserMapperImpl类,用于实现UserMapper接口中的方法。具体内容如下: ```asp package com.example.demo.mapper; import com.example.demo.entity.User; import org.mybatis.spring.SqlSessionTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; import java.util.List; @Repository public class UserMapperImpl implements UserMapper { @Autowired private SqlSessionTemplate sqlSession; @Override public List<User> findAll() { return sqlSession.selectList("findAll"); } @Override public User findById(int id) { return sqlSession.selectOne("findById", id); } @Override public void save(User user) { sqlSession.insert("save", user); } @Override public void update(User user) { sqlSession.update("update", user); } @Override public void delete(int id) { sqlSession.delete("delete", id); } } ``` 这里使用了SqlSessionTemplate来执行SQL语句,其中的方法名对应了Mapper XML文件中定义的SQL语句的id属性。 4.配置MyBatis和Mapper接口。在Spring Boot的配置文件application.properties中添加以下配置: ```asp mybatis.mapper-locations=classpath*:mapper/*.xml mybatis.type-aliases-package=com.example.demo.entity ``` 这里指定了Mapper XML文件的位置和Java实体类的包名,让MyBatis能够自动扫描并绑定Mapper接口和XML文件。 5.创建Controller类。在src/main/java/com/example/demo/controller目录下创建一个UserController类,用于处理用户请求。具体内容如下: ```asp package com.example.demo.controller; import com.example.demo.entity.User; import com.example.demo.mapper.UserMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; @RestController @RequestMapping("/users") public class UserController { @Autowired private UserMapper userMapper; @GetMapping("") public List<User> findAll() { return userMapper.findAll(); } @GetMapping("/{id}") public User findById(@PathVariable int id) { return userMapper.findById(id); } @PostMapping("") public void save(@RequestBody User user) { userMapper.save(user); } @PutMapping("/{id}") public void update(@PathVariable int id, @RequestBody User user) { user.setId(id); userMapper.update(user); } @DeleteMapping("/{id}") public void delete(@PathVariable int id) { userMapper.delete(id); } } ``` 这里使用了@RestController注解来声明一个基于REST的控制器,同时使用@RequestMapping注解指定了请求路径。在控制器中,我们通过@Autowired注解将UserMapper注入到控制器中,然后分别实现了findAll、findById、save、update和delete等方法来处理对应的请求。 至此,我们已经完成了Spring Boot与MyBatis的整合工作。整个应用的代码已经可以在Spring Boot中运行了。在运行应用之前,需要启动一个MySQL数据库,并在其中创建一个名为test的数据库。 这里提供一个完整的项目结构: ```asp . ├── src │ ├── main │ │ ├── java │ │ │ └── com │ │ │ └── example │ │ │ └── demo │ │ │ ├── DemoApplication.java │ │ │ ├── controller │ │ │ │ └── UserController.java │ │ │ ├── entity │ │ │ │ └── User.java │ │ │ ├── mapper │ │ │ │ ├── UserMapper.java │ │ │ │ └── UserMapperImpl.java │ │ │ └── service │ │ │ └── UserService.java │ │ └── resources │ │ ├── application.properties │ │ ├── mapper │ │ │ └── UserMapper.xml │ │ └── schema.sql │ └── test │ └── java │ └── com │ └── example │ └── demo │ └── DemoApplicationTests.java └── pom.xml ``` 在完成上述代码的编写之后,可以在终端中进入项目目录,执行以下命令运行应用: ```asp mvn spring-boot:run ``` 接着,在浏览器中访问 http://localhost:8080/users 即可访问用户列表
上一篇:
Spring Boot的JDBC模块详解
下一篇:
Spring Boot数据库事务的处理
该分类下的相关小册推荐:
Java语言基础15-单元测试和日志技术
Mybatis合辑2-Mybatis映射文件
手把手带你学习SpringBoot-零基础到实战
Java必知必会-JDBC
Java语言基础3-流程控制
Java必知必会-Maven初级
Java语言基础4-数组详解
Java语言基础9-常用API和常见算法
java源码学习笔记
Java语言基础2-运算符
Java并发编程实战
经典设计模式Java版