springboot MybatisSQL映射怎么写
时间: 2024-01-24 09:02:04 浏览: 75
springboot mybatis,MYSQL
5星 · 资源好评率100%
在Spring Boot中使用MyBatis,需要按照以下步骤进行配置和编写SQL映射文件:
1. 添加MyBatis和MyBatis-Spring依赖:
```xml
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
```
2. 配置数据源:
在application.properties文件中添加数据库连接信息,例如:
```properties
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
```
3. 配置MyBatis:
在application.properties文件中添加MyBatis配置信息,例如:
```properties
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=com.example.demo.entity
```
其中,mapper-locations指定了SQL映射文件的路径,type-aliases-package指定了实体类的包路径。
4. 编写SQL映射文件:
在mapper目录下创建一个XML文件,例如UserMapper.xml,编写SQL语句和对应的映射关系,例如:
```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">
<select id="getUserById" resultType="com.example.demo.entity.User">
select * from user where id=#{id}
</select>
<insert id="addUser" 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接口的全路径,id指定了方法名,parameterType指定了方法参数类型,resultType指定了返回值类型。
5. 编写Mapper接口:
在com.example.demo.mapper包下创建一个UserMapper.java接口,例如:
```java
package com.example.demo.mapper;
import com.example.demo.entity.User;
import org.apache.ibatis.annotations.*;
@Mapper
public interface UserMapper {
@Select("select * from user where id=#{id}")
User getUserById(int id);
@Insert("insert into user(name, age) values(#{name}, #{age})")
@Options(useGeneratedKeys = true, keyProperty = "id")
int addUser(User user);
@Update("update user set name=#{name}, age=#{age} where id=#{id}")
int updateUser(User user);
@Delete("delete from user where id=#{id}")
int deleteUserById(int id);
}
```
其中,@Mapper注解标识了该接口是MyBatis的Mapper接口,@Select/@Insert/@Update/@Delete注解分别对应了SQL映射文件中的select/insert/update/delete标签。
至此,MyBatis的配置和SQL映射文件的编写完成。在业务代码中使用UserMapper的方法即可操作数据库。
阅读全文