SpringBoot轻松搞定MyBatis连接MySQL
2023-11-26 00:24:12
SpringBoot 集成 MyBatis 实现数据库操作
前言
随着 SpringBoot 框架的流行和 MyBatis ORM 框架的强大功能,将两者结合使用可以为 Java 开发者带来极大的便利。本教程将指导您如何将 SpringBoot 与 MyBatis 连接到 MySQL 数据库,并实现基本的 CRUD(创建、读取、更新和删除)操作。
环境搭建
创建 SpringBoot 项目
- 使用 IntelliJ IDEA 创建一个新的 SpringBoot 项目。
- 选择 Spring Initializr 作为项目模板。
- 输入项目名称和包名。
添加 MyBatis 依赖
在 pom.xml 文件中添加以下依赖:
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.2</version>
</dependency>
配置
在 application.properties 文件中添加以下配置:
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test_db
spring.datasource.username=root
spring.datasource.password=123456
- 将 test_db 替换为您的数据库名称。
- 将 root 替换为您的数据库用户名。
- 将 123456 替换为您的数据库密码。
代码实现
实体类
创建实体类映射数据库表结构,以 user 表为例:
@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private Integer age;
}
MyBatis Mapper 接口
定义 MyBatis Mapper 接口来操作数据库,以 UserMapper 为例:
@Mapper
public interface UserMapper {
@Select("SELECT * FROM user WHERE id = #{id}")
User findById(Long id);
@Insert("INSERT INTO user(name, age) VALUES(#{name}, #{age})")
int insert(User user);
@Update("UPDATE user SET name = #{name}, age = #{age} WHERE id = #{id}")
int update(User user);
@Delete("DELETE FROM user WHERE id = #{id}")
int delete(Long id);
}
SpringBoot Controller
在 SpringBoot Controller 中使用 UserMapper 操作数据库,以 UserController 为例:
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping("/{id}")
public User findById(@PathVariable Long id) {
return userMapper.findById(id);
}
@PostMapping
public int insert(@RequestBody User user) {
return userMapper.insert(user);
}
@PutMapping
public int update(@RequestBody User user) {
return userMapper.update(user);
}
@DeleteMapping("/{id}")
public int delete(@PathVariable Long id) {
return userMapper.delete(id);
}
}
总结
通过以上步骤,您已成功将 SpringBoot 与 MyBatis 连接到 MySQL 数据库。通过使用 UserMapper 接口,您可以在 SpringBoot Controller 中轻松执行 CRUD 操作。希望本教程能帮助您更好地理解和利用 SpringBoot 和 MyBatis 的强大功能。
常见问题解答
-
如何连接到不同的数据库?
只需更改 application.properties 文件中的数据库连接信息即可。 -
如何创建其他实体类和 Mapper 接口?
按照实体类和 Mapper 接口的创建步骤进行操作,使用不同的名称和表结构。 -
如何执行更复杂的数据库操作?
可以使用 MyBatis 提供的各种注解和 XML 映射文件来执行更高级的操作。 -
如何处理数据库异常?
在 Controller 中使用@ExceptionHandler
注解来捕获和处理数据库异常。 -
如何配置 MyBatis 的日志记录?
在 logback.xml 文件中添加以下配置:<logger name="org.mybatis" level="DEBUG" /> <logger name="org.apache.ibatis" level="DEBUG" />