我希望通过springboot整合mybatis实现增删改查,请详细讲一讲UserMapper接口和UserMapper.xml的编写方法,最好结合例子说明
时间: 2024-03-09 19:45:47 浏览: 27
当我们使用SpringBoot整合Mybatis时,需要先在pom.xml文件中引入相关的依赖。常用的依赖有:
```xml
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.25</version>
</dependency>
```
接下来,我们需要在application.properties文件中配置数据库连接信息:
```properties
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/db_test?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root
```
其中,url中的db_test是数据库名称,可以根据实际情况进行修改。
接下来,我们可以开始编写UserMapper接口和UserMapper.xml。
UserMapper接口的编写:
```java
@Mapper
public interface UserMapper {
User selectById(@Param("id") int id);
List<User> selectAll();
int insert(User user);
int update(User user);
int deleteById(@Param("id") int id);
}
```
其中,@Mapper注解表示该接口是Mybatis的Mapper接口,SpringBoot会自动扫描该包下所有的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="userMap" type="com.example.demo.entity.User">
<id column="id" property="id"/>
<result column="name" property="name"/>
<result column="age" property="age"/>
<result column="gender" property="gender"/>
</resultMap>
<select id="selectById" resultMap="userMap">
select * from user where id = #{id}
</select>
<select id="selectAll" resultMap="userMap">
select * from user
</select>
<insert id="insert" parameterType="com.example.demo.entity.User">
insert into user(name, age, gender) values(#{name}, #{age}, #{gender})
</insert>
<update id="update" parameterType="com.example.demo.entity.User">
update user set name = #{name}, age = #{age}, gender = #{gender} where id = #{id}
</update>
<delete id="deleteById">
delete from user where id = #{id}
</delete>
</mapper>
```
其中,namespace表示该Mapper接口的全限定名,resultMap用于将查询结果映射为Java对象,select、insert、update、delete分别对应查询、插入、更新、删除操作,id表示该操作的唯一标识符,parameterType表示该操作的参数类型,column表示数据库表的列名,property表示Java对象的属性名,#{id}、#{name}、#{age}、#{gender}分别表示Mybatis的占位符,用于替换参数。
以上就是使用SpringBoot整合Mybatis实现增删改查的基本方法,希望对你有所帮助。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)