下面我来详细讲解“SpringBoot整合Mybatis的知识点汇总
”。
使用场景
在实际的开发中,经常需要使用到ORM框架来操作数据库,而Mybatis
是一款优秀的ORM框架,而SpringBoot
是目前最流行的项目开发框架之一,所以SpringBoot
整合Mybatis
是一个很常见的需求场景。
整合步骤
下面通过以下6
个步骤来讲解SpringBoot
整合Mybatis
的操作。
1. 引入依赖
首先需要在pom.xml
文件中引入Mybatis
和数据库连接驱动的依赖,如下:
<!-- Mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>
<!-- 数据库连接驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>
2. 配置数据源
在src/main/resources/application.properties
配置文件中,需要指定数据库连接信息,如下:
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=Asia/Shanghai&autoReconnect=true&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=123456
3. 创建实体类
在Mybatis
中,实体类和数据库中的表是一一对应的关系,所以需要先创建实体类,在此以User
实体类为例,如下:
public class User {
private Long id;
private String name;
private Integer age;
// getter、setter方法省略
}
4. 创建Mapper接口
在Mybatis
中,Mapper
接口定义了操作数据库的方法,需要在Mapper
接口中定义方法来操作数据库,在此以UserMapper
接口为例,如下:
public interface UserMapper {
List<User> getAllUsers();
User getUserById(Long id);
void addUser(User user);
void updateUser(User user);
void deleteUser(Long userId);
}
5. 创建Mapper.xml
在Mybatis
中,Mapper.xml
文件用于配置Mapper
接口的具体实现,需要在resources/mappers
下创建UserMapper.xml
文件,实现UserMapper
中定义的方法,如下:
<mapper namespace="com.example.demo.mapper.UserMapper">
<resultMap id="userMap" type="com.example.demo.entity.User">
<id property="id" column="id"/>
<result property="name" column="name"/>
<result property="age" column="age"/>
</resultMap>
<select id="getAllUsers" resultMap="userMap">
SELECT * FROM user;
</select>
<select id="getUserById" resultMap="userMap">
SELECT * FROM user WHERE id = #{id};
</select>
<insert id="addUser">
INSERT INTO user(name, age) VALUES(#{name}, #{age});
</insert>
<update id="updateUser">
UPDATE user SET name = #{name}, age = #{age} WHERE id = #{id};
</update>
<delete id="deleteUser">
DELETE FROM user WHERE id = #{id};
</delete>
</mapper>
6. 注入Mapper接口
最后,在需要使用Mapper
的地方注入Mapper
接口即可,同时需要在@MapperScan
注解中指定Mapper
接口所在的包,如下:
@SpringBootApplication
@MapperScan("com.example.demo.mapper")
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
至此,SpringBoot
整合Mybatis
的步骤就结束了。
示例
下面提供两个示例,一个是查询所有用户,一个是查询指定用户。
查询所有用户
@RestController
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping("/users")
public List<User> getAllUsers() {
return userMapper.getAllUsers();
}
}
查询指定用户
@RestController
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping("/users/{id}")
public User getUserById(@PathVariable Long id) {
return userMapper.getUserById(id);
}
}
以上就是关于“SpringBoot整合Mybatis的知识点汇总
”的完整攻略,希望能对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot整合Mybatis的知识点汇总 - Python技术站