Spring Boot中使用MyBatis-Spring-Boot-Starter
2024.02.04 16:05浏览量:6简介:本文将介绍如何在Spring Boot项目中使用MyBatis-Spring-Boot-Starter进行数据库操作。我们将涵盖如何添加依赖、配置数据源、创建Mapper接口和映射文件,以及如何执行基本的CRUD操作。
在Spring Boot中集成MyBatis框架通常是为了使用ORM(对象关系映射)功能,以简化数据库操作。MyBatis-Spring-Boot-Starter是一个方便的集成解决方案,可以让您快速地在Spring Boot项目中设置和使用MyBatis。
1. 添加依赖
首先,您需要在项目的pom.xml文件中添加MyBatis-Spring-Boot-Starter的依赖。请确保您的pom.xml文件中已经包含了Spring Boot的starter parent依赖,以便正确管理依赖版本。
<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.0</version></dependency>
2. 配置数据源
在application.properties或application.yml文件中配置数据源信息,例如数据库连接URL、用户名和密码等。
spring.datasource.url=jdbc:mysql://localhost:3306/mydbspring.datasource.username=rootspring.datasource.password=rootspring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
3. 创建Mapper接口和映射文件
创建一个Mapper接口,用于定义与数据库表对应的操作方法。然后,创建一个对应的映射文件,用于定义SQL语句和参数绑定。
例如,创建一个名为UserMapper.java的接口:
public interface UserMapper {List<User> getAllUsers();User getUserById(int id);void insertUser(User user);void updateUser(User user);void deleteUser(int id);}
然后,创建一个名为UserMapper.xml的映射文件,并放在resources/mapper目录下:
<?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"><select id="getAllUsers" resultType="com.example.demo.model.User">SELECT * FROM user</select><select id="getUserById" parameterType="int" resultType="com.example.demo.model.User">SELECT * FROM user WHERE id = #{id}</select><insert id="insertUser" parameterType="com.example.demo.model.User">INSERT INTO user (name, age) VALUES (#{name}, #{age})</insert><update id="updateUser" parameterType="com.example.demo.model.User">UPDATE user SET name = #{name}, age = #{age} WHERE id = #{id}</update><delete id="deleteUser" parameterType="int">DELETE FROM user WHERE id = #{id}</delete></mapper>
4. 执行CRUD操作
现在,您可以在Service或Controller中注入Mapper接口,并调用相应的方法执行CRUD操作。例如:
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;\n @Override
public List
return userMapper.getAllUsers();
}\n @Override
public User getUserById(int id) {
return userMapper.getUserById(id);
}\n @Override
public void insertUser(User user) {
userMapper.insertUser(user);
}\n @Override
public void updateUser(User user) {
userMapper.

发表评论
登录后可评论,请前往 登录 或 注册