springboot集成 mybatis
- 添加坐标
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.2</version>
</dependency>
- yml 配置文件添加配置
mybatis:
mapper-locations: classpath:mapper/*.xml # mapper映射文件位置
type-aliases-package: com.chenwei.entity # 实体类所在的位置
springboot 集成mybatis-plus
更快的开发操作数据的增删改查,操作
1.在yml配置文件中 添加配置
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #用于控制台打印sql语句
- 坐标引入
<!-- mybatis-plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
- 创建实体类对应的Mapper接口文件 并继承BaseMapper T为实体类
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.chenwei.entity.User;
public interface UserMapper extends BaseMapper<User> {
// 包含对数据的访问方法
// 查询所有方法
// @Select("select * from sys_user")
// List<User>findAll();
// 添加用户 修改用户
// @Insert(" INSERT into sys_user (username,nickname,password,email,phone)values(#{username},#{nickname},#{password},#{email},#{phone})")
// int insert( User user);
根据id, 删除用户
// @Delete(" DELETE from sys_user WHERE id = #{userid}")
// int delete(int userid);
//
更改用户信息
//
// int update(User user);
// @Select(" select * from sys_user limit #{lIndex},#{rIndex}")
// List<User> findPage( int lIndex, int rIndex);
//
// @Select("select count(*) from sys_user")
// int getTotal();
}
- 创建实体类对应的service 并继承ServiceImpl<UserMapper,User>
-
param1: 继承BaseMapper<User> 的mapper接口文件
-
param2:实体类
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.chenwei.Dao.UserMapper;
import com.chenwei.entity.User;
import org.springframework.stereotype.Service;
/**
* ServiceImpl<UserMapper,User>
* param1: 继承BaseMapper<User> 的mapper接口文件
* param2:实体类
*/
@Service
public class UserService extends ServiceImpl<UserMapper,User> {
// @Autowired
// private UserMapper userMapper;
//
// // 添加用户
// public int save(User user) {
// if (user.getId() == null) {
添加用户
// return userMapper.insert(user);
// }
// return userMapper.update(user);
// }
}
- 创建配置类 MybatisPlusConfig
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@MapperScan("com.chenwei.Dao")
public class MybatisPlusConfig {
/**
* 新的分页插件,一缓和二缓遵循mybatis的规则,需要设置 MybatisConfiguration#useDeprecatedExecutor = false 避免缓存出现问题(该属性会在旧插件移除后一同移除)
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
}
- 在对外接口中使用 mybatis-plus方法