springboot整合mybatis跟整合mybatis plus区别
时间: 2023-07-17 16:00:24 浏览: 285
Spring Boot整合MyBatis和整合MyBatis Plus的区别主要体现在以下几个方面:
1. 引入依赖:在Spring Boot中,整合MyBatis需要引入`mybatis-spring-boot-starter`的依赖,而整合MyBatis Plus需要引入`mybatis-plus-boot-starter`的依赖。MyBatis Plus是对MyBatis的增强,提供了更多的功能和便利的操作。
2. 配置文件:在Spring Boot中,整合MyBatis需要配置数据源、MyBatis的配置文件和Mapper接口的扫描路径,而整合MyBatis Plus只需要配置数据源即可,默认会自动扫描Mapper接口。
3. Mapper接口:在Spring Boot整合MyBatis中,需要为每个Mapper接口编写对应的XML文件来实现SQL语句的映射;而在整合MyBatis Plus中,可以通过继承`BaseMapper`接口,无需编写XML文件,即可实现常用的增删改查操作。
4. 分页插件:在Spring Boot整合MyBatis中,如果需要分页查询,需要手动配置分页插件;而在整合MyBatis Plus中,默认已经集成了分页插件,只需在查询方法中加入分页参数即可。
总的来说,整合MyBatis Plus相对于整合MyBatis来说,简化了配置和开发的步骤,提供了更多的便利功能。但是如果项目中需要复杂的SQL操作,或者有特定的需求无法满足MyBatis Plus提供的功能,仍然可以选择使用MyBatis进行开发。
相关问题
springboot 整合 mybatis plus
以下是Spring Boot整合MyBatis Plus的步骤:
1.在pom.xml文件中添加MyBatis Plus的起步依赖:
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.0</version>
</dependency>
```
2.在application.properties或application.yml文件中配置数据源信息:
```yaml
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
```
3.创建实体类和Mapper接口,使用MyBatis Plus提供的注解来简化开发:
```java
// 实体类
@Data
public class User {
@TableId(type = IdType.AUTO)
private Long id;
private String name;
private Integer age;
}
// Mapper接口
public interface UserMapper extends BaseMapper<User> {
}
```
4.在启动类上添加@MapperScan注解,扫描Mapper接口:
```java
@SpringBootApplication
@MapperScan("com.example.demo.mapper")
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
```
5.使用MyBatis Plus提供的方法进行CRUD操作:
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public User getUserById(Long id) {
return userMapper.selectById(id);
}
@Override
public List<User> getUserList() {
return userMapper.selectList(null);
}
@Override
public int addUser(User user) {
return userMapper.insert(user);
}
@Override
public int updateUser(User user) {
return userMapper.updateById(user);
}
@Override
public int deleteUser(Long id) {
return userMapper.deleteById(id);
}
}
```
springboot整合mybatis plus
Spring Boot整合Mybatis Plus可以通过以下步骤实现:
1. 引入Mybatis Plus和Mybatis的依赖
在pom.xml文件中添加以下依赖:
```
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.</version>
</dependency>
```
2. 配置数据源
在application.properties文件中配置数据源信息,例如:
```
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root
```
3. 配置Mybatis Plus
在application.properties文件中添加以下配置:
```
# Mybatis Plus配置
mybatis-plus.mapper-locations=classpath*:mapper/**/*.xml
mybatis-plus.type-aliases-package=com.example.demo.entity
```
4. 编写实体类和Mapper接口
在com.example.demo.entity包下编写实体类,例如:
```
@Data
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
```
在com.example.demo.mapper包下编写Mapper接口,例如:
```
public interface UserMapper extends BaseMapper<User> {
}
```
5. 编写Mapper XML文件
在resources/mapper目录下编写Mapper XML文件,例如:
```
<?xml version="1." encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.mapper.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="email" property="email"/>
</resultMap>
<select id="selectById" resultMap="BaseResultMap">
select * from user where id=#{id}
</select>
<insert id="insert" parameterType="com.example.demo.entity.User">
insert into user(name, age, email) values(#{name}, #{age}, #{email})
</insert>
<update id="updateById" parameterType="com.example.demo.entity.User">
update user set name=#{name}, age=#{age}, email=#{email} where id=#{id}
</update>
<delete id="deleteById" parameterType="java.lang.Long">
delete from user where id=#{id}
</delete>
</mapper>
```
6. 编写Service和Controller
在com.example.demo.service包下编写Service接口和实现类,例如:
```
public interface UserService extends IService<User> {
}
```
```
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
}
```
在com.example.demo.controller包下编写Controller类,例如:
```
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/{id}")
public User getById(@PathVariable Long id) {
return userService.getById(id);
}
@PostMapping
public boolean save(@RequestBody User user) {
return userService.save(user);
}
@PutMapping
public boolean updateById(@RequestBody User user) {
return userService.updateById(user);
}
@DeleteMapping("/{id}")
public boolean removeById(@PathVariable Long id) {
return userService.removeById(id);
}
}
```
7. 启动应用程序
运行Spring Boot应用程序,访问http://localhost:808/user/{id}可以查询用户信息,访问http://localhost:808/user可以新增用户信息,访问http://localhost:808/user可以更新用户信息,访问http://localhost:808/user/{id}可以删除用户信息。
阅读全文
相关推荐














