SpringBoot MyBatis整合教程可以分为以下几个步骤:
1. 创建SpringBoot工程
在开始整合Mybatis之前,我们需要先创建一个SpringBoot工程。可以通过Spring Initializr来进行创建,在创建时我们需要添加Web
、Mybatis
以及MySQL Driver
这三个依赖。
2. 配置数据源
在application.properties
文件中配置数据库连接信息:
spring.datasource.url=jdbc:mysql://localhost/test?characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=123456
3. 配置MyBatis
3.1 配置Mapper文件
在src/main/resources
目录下创建一个mapper
文件夹,在其中创建对应的Mapper.xml文件。
Mapper.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.user.mapper.UserMapper">
<select id="findAll" resultType="com.example.demo.user.entity.User">
SELECT id, name, age, email FROM user
</select>
</mapper>
3.2 配置Mapper接口
在com.example.demo.user.mapper
包下创建对应的Mapper接口,并使用注解@Mapper
注解该接口。
Mapper接口示例:
@Mapper
public interface UserMapper {
List<User> findAll();
}
3.3 配置SqlSessionFactory
在application.properties
文件中配置Mybatis的配置文件和Mapper文件的路径:
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.config-location=classpath:mybatis-config.xml
创建mybatis-config.xml
文件,配置SqlSessionFactory
:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
<typeAliases>
<typeAlias type="com.example.demo.user.entity.User" alias="User"/>
</typeAliases>
<mappers>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<property name="dialect" value="mysql"/>
</plugin>
</plugins>
</configuration>
3.4 配置事务管理器
使用注解@Transactional
来标记需要进行事务管理的方法,还需要在@SpringBootApplication
注解的类上添加@EnableTransactionManagement
注解。
4. 示例
在以上步骤完成后,可以通过如下示例进行测试:
4.1 添加实体类
创建com.example.demo.user.entity.User
实体类:
@Data
@NoArgsConstructor
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
4.2 添加Controller
创建com.example.demo.user.controller.UserController
控制器类:
@RestController
@RequestMapping("/api/user")
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping("/")
public List<User> findAll() {
return userMapper.findAll();
}
}
4.3 测试
运行SpringBoot应用程序,在浏览器中访问http://localhost:8080/api/user/
,应该能够看到返回的用户信息。
另外,可以通过MyBatis的分页插件PageHelper
来实现分页功能:
@GetMapping("/")
public PageInfo<User> findAll(@RequestParam(required = false, defaultValue = "1") Integer pageNum,
@RequestParam(required = false, defaultValue = "10") Integer pageSize) {
PageHelper.startPage(pageNum, pageSize);
List<User> userList = userMapper.findAll();
return new PageInfo<>(userList);
}
以上就是SpringBoot MyBatis整合的基本步骤和示例。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot MyBatis保姆级整合教程 - Python技术站