springboot整合Mybatis代码实现
时间: 2023-10-02 09:08:45 浏览: 107
首先确保你已经在项目中加入了Mybatis和Mybatis-Spring的依赖,可以在pom.xml文件中添加以下依赖:
```xml
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
```
接下来在Spring Boot项目中配置Mybatis,可以在application.properties文件中添加以下配置:
```properties
# 数据库连接配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_demo?useSSL=false&serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=root
# Mybatis配置
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=com.example.demo.entity
```
其中,`spring.datasource.*`是数据库连接配置,`mybatis.mapper-locations`是Mybatis的Mapper文件所在位置,`mybatis.type-aliases-package`是Mybatis的别名包所在位置。
接着创建一个Mapper文件,可以在resources/mapper目录下创建一个UserMapper.xml文件,内容如下:
```xml
<?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="BaseResultMap" type="com.example.demo.entity.User">
<id column="id" property="id" />
<result column="name" property="name" />
<result column="age" property="age" />
</resultMap>
<select id="getUserById" resultMap="BaseResultMap">
SELECT * FROM user WHERE id=#{id}
</select>
<select id="getAllUsers" resultMap="BaseResultMap">
SELECT * FROM user
</select>
<insert id="insertUser" parameterType="com.example.demo.entity.User">
INSERT INTO user(name, age) VALUES(#{name}, #{age})
</insert>
<update id="updateUser" parameterType="com.example.demo.entity.User">
UPDATE user SET name=#{name}, age=#{age} WHERE id=#{id}
</update>
<delete id="deleteUserById" parameterType="int">
DELETE FROM user WHERE id=#{id}
</delete>
</mapper>
```
其中,`namespace`属性指定了Mapper接口的全限定名,`resultMap`指定了查询结果集的映射关系,`select`、`insert`、`update`、`delete`分别对应了查询、插入、更新、删除操作。
接着创建一个User实体类,可以在com.example.demo.entity包下创建一个User.java文件,内容如下:
```java
public class User {
private int id;
private String name;
private int age;
// getter和setter方法省略
}
```
最后创建一个Mapper接口,可以在com.example.demo.mapper包下创建一个UserMapper.java文件,内容如下:
```java
@Mapper
public interface UserMapper {
User getUserById(int id);
List<User> getAllUsers();
void insertUser(User user);
void updateUser(User user);
void deleteUserById(int id);
}
```
其中,`@Mapper`注解标记了这是一个Mybatis的Mapper接口,接口中的方法对应了Mapper文件中的操作。
至此,我们已经完成了Spring Boot整合Mybatis的代码实现。可以通过调用Mapper接口中的方法来对数据库进行增删改查操作。
阅读全文