springboot整合mybatis跟整合mybatis plus区别
时间: 2023-07-17 08:00:24 浏览: 100
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中的 mybatis 配置文件
在SpringBoot整合Mybatis Plus中,Mybatis的配置文件可以通过在application.properties或application.yml中进行配置。以下是一个示例:
```yaml
mybatis:
mapper-locations: classpath:mapper/*.xml # mapper文件的位置
configuration:
map-underscore-to-camel-case: true # 开启驼峰命名转换
```
在这个示例中,mapper文件的位置被设置为classpath:mapper/*.xml,这意味着mapper文件应该放在项目的classpath下的mapper目录中。同时,开启了驼峰命名转换,这意味着在数据库中使用下划线分隔的列名将被转换为Java中的驼峰命名方式。