使用Spring Boot和MyBatis连接数据库的步骤
1. 概述
在使用Spring Boot和MyBatis连接数据库之前,我们首先需要了解整个流程。下面是连接数据库的步骤概述:
gantt
title 连接数据库的步骤
section 创建Spring Boot项目
创建项目结构: 0, 1, 1d
添加依赖: 1d, 1d
section 配置数据库连接
添加数据库连接配置: 2d, 1d
section 创建实体类和数据库表
创建实体类: 3d, 1d
创建数据库表: 3d, 1d
section 创建Mapper接口和XML文件
创建Mapper接口: 4d, 1d
创建XML文件: 4d, 1d
section 编写业务逻辑代码
编写Service接口和实现类: 5d, 1d
section 测试代码
编写测试代码: 6d, 1d
2. 创建Spring Boot项目
首先,我们需要创建一个Spring Boot项目。可以使用Spring Initializr ( 来快速生成项目结构。
在创建项目时,我们需要添加以下依赖:
- Spring Boot Starter Web:用于创建Web应用程序
- MyBatis Starter:用于集成MyBatis
- MySQL Driver:用于连接MySQL数据库
在生成的项目结构中,我们将在src/main/java
目录下创建Java文件,并在src/main/resources
目录下创建配置文件和XML文件。
3. 配置数据库连接
在src/main/resources
目录下,创建名为application.properties
的配置文件,并配置数据库连接信息。
spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
请注意将以上代码中的mydatabase
替换为你自己的数据库名称,并根据实际情况修改数据库的用户名和密码。
4. 创建实体类和数据库表
在src/main/java
目录下,创建名为com.example.demo.model
的包,并在该包下创建实体类。
package com.example.demo.model;
public class User {
private Long id;
private String name;
private String email;
// 省略构造方法、getter和setter
}
同时,我们还需要在MySQL数据库中创建名为user
的表。
CREATE TABLE user (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50),
email VARCHAR(50)
);
5. 创建Mapper接口和XML文件
在src/main/java
目录下,创建名为com.example.demo.mapper
的包,并在该包下创建Mapper接口。
package com.example.demo.mapper;
import com.example.demo.model.User;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface UserMapper {
List<User> getAllUsers();
void insertUser(User user);
void updateUser(User user);
void deleteUser(Long id);
}
在src/main/resources
目录下,创建名为userMapper.xml
的XML文件,并编写对应的SQL语句。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "
<mapper namespace="com.example.demo.mapper.UserMapper">
<select id="getAllUsers" resultType="com.example.demo.model.User">
SELECT * FROM user
</select>
<insert id="insertUser">
INSERT INTO user(name, email) VALUES(#{name}, #{email})
</insert>
<update id="updateUser">
UPDATE user SET name=#{name}, email=#{email} WHERE id=#{id}
</update>
<delete id="deleteUser">
DELETE FROM user WHERE id=#{id}
</delete>
</mapper>
6. 编写业务逻辑代码
在src/main/java
目录下,创建名为com.example.demo.service
的包,并在该包下创建Service接口和实现类。
package com.example.demo.service;
import com.example.demo.model.User;
import com.example.demo.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public List<User> getAllUsers() {
return userMapper.getAllUsers();