下面是关于springboot快速整合Mybatis组件的方法的攻略,包括以下几个步骤:
1.基础环境搭建
首先,我们应该新建一个SpringBoot工程,选择maven进行构建。我们需要在pom.xml文件中添加Mybatis和Mybatis-spring-boot-starter依赖项。核心代码如下:
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId> <!-- Mybatis 核心依赖 -->
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency>
2.数据源配置
接下来,我们需要配置数据源,在application.properties中添加如下配置:
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=123456
3.Mapper接口文件加入扫描
我们需要在我们的src/main/java目录下新建一个包,名字可以任意,比如com.example.demo.dao。我们把Mapper接口文件放到这个包里,并在我们的SpringBoot工程的启动类上加上@MapperScan注解,告诉系统扫描这个包下所有Mapper接口文件。
@SpringBootApplication
@MapperScan("com.example.demo.dao")
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
4.创建Mapper接口
我们现在需要创建了Mapper接口,比如UserMapper接口,该接口应该添加@Mapper注解,用于让Mybatis自动扫描该接口并生成实现类。
@Mapper
public interface UserMapper {
List<User> findAllUser();
int addUser(User user);
int deleteUserById(Integer id);
int updateUser(User user);
User findUserById(Integer id);
}
5.创建Mapper.xml文件
现在我们需要编写Mapper.xml文件,我们把Mapper.xml文件放在我们工程的resources/mapper目录下。如下是一个示例的UserMapper.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.dao.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" />
<result column="address" property="address" />
</resultMap>
<select id="findAllUser" resultMap="BaseResultMap">
SELECT * FROM user;
</select>
<insert id="addUser">
INSERT INTO user(name, age, address)
VALUES(#{name}, #{age}, #{address});
</insert>
<delete id="deleteUserById">
DELETE FROM user WHERE id = #{id};
</delete>
<update id="updateUser">
UPDATE user SET name = #{name}, age = #{age}, address = #{address}
WHERE id = #{id};
</update>
<select id="findUserById" resultMap="BaseResultMap">
SELECT * FROM user WHERE id = #{id};
</select>
</mapper>
然后我们在UserMapper接口中定义方法,该方法名称应该与Mapper.xml文件中定义的SQL语句ID相对应。
6.测试
我们已经完成了所需的所有工作,现在可以使用SpringBoot的自动配置和注解,方便快捷地使用Mybatis。创建一个Controller,进行查询。
@RestController
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping("/users")
public List<User> findAllUser() {
return userMapper.findAllUser();
}
}
这样,我们的第一个springboot整合Mybatis的简单示例就完成了。
下面是另一个示例——插入一条数据:
@RestController
public class UserController {
@Autowired
private UserMapper userMapper;
@PostMapping("/user")
public String addUser(@RequestBody User user) {
int i = userMapper.addUser(user);
if (i == 1) {
return "add user success";
}
return "add user fail";
}
}
以此类推,我们可以声明更多的Mapper接口,调用更多的SQL语句。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springboot快速整合Mybatis组件的方法(推荐) - Python技术站