springboot用javaConfig写Mybatis自定义配置

springboot主张用java config代替xml配置,但在大部分博文中依然用的是xml配置讲解,很少讲解javaConfig的内容,我这里记录下自己用java config配置mybatis。


pom.xml就不多说了,日常引入

mybatis-spring-boot-starter

这个当然也可以自动加载mybatis的配置,但是在一般大项目中,自动的那些默认配置就很难满足了。

mybatis javaConfig如下:

@Configuration
@ConfigurationProperties(prefix = "mybatis")
@PropertySource("application-mybatis.yml")
public class MyBatisConfig {

    private static final Logger logger = Logger.getLogger(MyBatisConfig.class);

//    @Autowired
//    private Environment env;

    @Autowired
    private DataSource druidDataSource;


    @Value("${mapperLocations}")
    private String mapperLocations;

    @Value("${default-statement-timeout}")
    private int dst;

    @Bean
    public SqlSessionFactory sqlSessionFactory() throws Exception{
        SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
        sqlSessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(mapperLocations));
        logger.info("sqlSessionFactory:--->mybatis.mapperLocation:" + mapperLocations );

        sqlSessionFactoryBean.setDataSource(druidDataSource);
        org.apache.ibatis.session.Configuration cfg = new org.apache.ibatis.session.Configuration();//configuration
        cfg.setDefaultStatementTimeout(dst);//设置相关参数,我这里就只用了一个
        logger.info("sqlSessionFactoryBean:-->" + sqlSessionFactoryBean.getObject());
        logger.info("default-statement-timeout:" + dst);
        sqlSessionFactoryBean.setConfiguration(cfg);
        return sqlSessionFactoryBean.getObject();
    }

相关configuration参数如下:

settings

These are extremely important tweaks that modify the way that MyBatis behaves at runtime. The following table describes the settings, their meanings and their default values.

Setting Description Valid Values Default
cacheEnabled Globally enables or disables any caches configured in any mapper under this configuration. true | false tru
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Spring Boot整合MyBatis Plus的配置步骤如下: 1. 添加相关依赖:在pom.xml文件中添加以下依赖: ```xml <dependencies> <!-- Spring Boot Starter --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- MyBatis Plus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>{mybatis-plus-version}</version> </dependency> <!-- 数据库驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> </dependencies> ``` 将`{mybatis-plus-version}`替换为你所需的MyBatis Plus版本。 2. 配置数据源:在`application.properties`或`application.yml`文件中配置数据库连接信息,例如: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/db_example username: db_username password: db_password ``` 3. 配置MyBatis Plus:创建一个配置类,例如`MyBatisPlusConfig`,并添加`@Configuration`注解。在该类中进行MyBatis Plus的相关配置,例如: ```java @Configuration @MapperScan("com.example.mapper") public class MyBatisPlusConfig { @Bean public PaginationInterceptor paginationInterceptor() { return new PaginationInterceptor(); } } ``` 其中,`@MapperScan`注解用于指定Mapper接口所在的包路径。 4. 创建Mapper接口和对应的XML文件:在`com.example.mapper`包下创建Mapper接口和对应的XML文件,例如: ```java @Mapper public interface UserMapper extends BaseMapper<User> { // 自定义SQL语句和方法 } ``` 5. 使用MyBatis Plus:在Service层或Controller层中,通过自动注入的方式使用Mapper接口,例如: ```java @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public List<User> getUserList() { return userMapper.selectList(null); } // 其他方法 } ``` 以上就是Spring Boot整合MyBatis Plus的基本配置步骤。你可以根据自己的需求进一步配置和使用MyBatis Plus的其他功能,如分页查询、条件查询等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值