Mybatis-Plus官网的配置文件配置如下:
//Spring Boot的配置方法
//Spring Boot工程的Mybatis-Plus配置只需要在Application类上添加上注解@MapperScan扫描你对应的Mapper即可
@SpringBootApplication
@MapperScan("com.baomidou.mybatisplus.samples.quickstart.mapper")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
//Spring的配置方法
//首先在Spring的配置文件中配置MapperScan扫描对应的Mapper
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.baomidou.mybatisplus.samples.quickstart.mapper"/>
</bean>
//之后在Spring配置文件中配置sqlSessionFactory
/*
sqlSessionFactory是Mybatis中的核心对象,它负责创建 SqlSession 实例。
SqlSession 实例是 MyBatis 进行数据库操作的核心对象,它包含了执行 SQL 命令所需的所有方法。
*/
//将sqlSessionFactory配置为Mybatis-Plus的sqlSessionFactory
<bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
</bean>
以上两种就是Mybatis-Plus的配置方法,由于Spring提倡全注解开发,因此当然少不了在Config类中配置Mybtais-Plus
Mybatis-Plus的全注解开发配置方法:
//全注解开发
@Configuration
@MapperScan("com.forney.dao")
public class MybatisPlusConfig {
@Bean
@Lazy
public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
MybatisSqlSessionFactoryBean sqlSessionFactoryBean = new MybatisSqlSessionFactoryBean(); //new Mybtais
sqlSessionFactoryBean.setDataSource(dataSource);//设置数据源
//开启驼峰命名,Mybatis-Plus是默认开启了驼峰命名的,但Mybatis是没有开启的因此在开发时需要注意在测试时要注意是否成功引入Mybatis-Plus
MybatisConfiguration mybatisConfiguration = new MybatisConfiguration();
mybatisConfiguration.setMapUnderscoreToCamelCase(true);
return sqlSessionFactoryBean.getObject();
}
接下来是测试Mybatis-Plus是否成功配置
//实体类,使用lombok简化实体类
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName(value = "user")
public class User{
@TableId(value = "id")
private Long id;
@TableField(value = "name")
private String name;
}
在UserMapper接口中继承BaseMapper
/**
* 这里会继承BaseMapper中的方法,
* 如果BaseMapper中无法满足需求可以自己在这个接口中编写想要的方法
*/
@Mapper
public interface UserMapper extends BaseMapper<User> {}
UserService接口继承IService
/**
* 继承IService模板提供的基础功能
*/
public interface UserService extends IService<User> {}
对UserServiceImpl进行处理
/**
* ServiceImpl实现了IService中的基础功能
* 若ServiceImpl无法满足业务需求,则可以在UserService编写自定义方法,并在实现类中实现
*/
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper,User> implements UserService{}
Controller
@Autowired
private UserService userService
@GetMapping
public Result getUserById(@RequestParam Long id) {
try {
User user = userService.getById(id);
return Reslut.success("获取用户成功");
} catch (Exception e) {
e.printStackTrace();
return Reslut.error("获取用户失败");
}
}
启动成功会显示如下图片所示的Mybatis-Plus
测试结果