1. 程式人生 > 程式設計 >springboot+mybatis-plus 兩種方式列印sql語句的方法

springboot+mybatis-plus 兩種方式列印sql語句的方法

1.註解方式,yml檔案配置上以下就可以直接使用

mybatis-plus:
 mapper-locations: classpath:mapper/*.xml
 configuration:
  log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

2.這一種網上沒有,搜過好多資料都沒有,我是配置多資料來源,所以是在程式碼中寫的config那麼yml檔案就是失效的,只能一個一個配置,到了列印sql的時候,就怎麼都是找不到,後來設定的原始碼找到靈感,發現可以使用,特此記下,方便其他小夥伴遇到同樣的問題使用。

​ @Bean("sqlSessionFactory")
  public SqlSessionFactory sqlSessionFactory() throws Exception {
    // 匯入mybatissqlsession配置
    MybatisSqlSessionFactoryBean sessionFactory = new MybatisSqlSessionFactoryBean();
    // 指明資料來源
    sessionFactory.setDataSource(multipleDataSource(dataSource0(),dataSource1(),dataSource2()));
    // 指明mapper.xml位置(配置檔案中指明的xml位置會失效用此方式代替,具體原因未知)
    sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath*:/mapper/**Mapper.xml"));
    // 指明實體掃描(多個package用逗號或者分號分隔)
    sessionFactory.setTypeAliasesPackage("gsa.geographic.system.entity");
    // 匯入mybatis配置
    MybatisConfiguration configuration = new MybatisConfiguration();
    configuration.setJdbcTypeForNull(JdbcType.NULL);
    configuration.setMapUnderscoreToCamelCase(true);
    configuration.setCacheEnabled(false);
    // 配置列印sql語句
    configuration.setLogImpl(StdOutImpl.class);
    sessionFactory.setConfiguration(configuration);
    // 新增分頁功能
    sessionFactory.setPlugins(new Interceptor[]{
        paginationInterceptor()
    });
    // 匯入全域性配置
    sessionFactory.setGlobalConfig(globalConfiguration());
    return sessionFactory.getObject();
  }​

主要就是這句

springboot+mybatis-plus 兩種方式列印sql語句的方法

點選setLogImpl看原始碼,找到Configuration()構造方法,就可以看見了

springboot+mybatis-plus 兩種方式列印sql語句的方法

訪問一下看一下控制檯

springboot+mybatis-plus 兩種方式列印sql語句的方法

到此這篇關於springboot+mybatis-plus 兩種方式列印sql語句的方法的文章就介紹到這了,更多相關springboot+mybatis-plus列印sql內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!