Springboot統合mybaties
4392 ワード
詳細
前情:プロジェクトDBアクセスは主にJPAです.しかし前期需要の不確定等によりentityの関連関係等が不確定となる.明らかにJPAはマルチ条件クエリでmybatiesより弱いと感じた.だからmybatiesをプロジェクト、データアクセス層に統合し、JPAとmybatiesを混用します.ここでmybatiesは主に特殊なクエリーに使用されます.
1.pom依存:
2.コード生成構成(resourcesディレクトリの下):
3.mybatis構成
4.ページング構成:
前情:プロジェクトDBアクセスは主にJPAです.しかし前期需要の不確定等によりentityの関連関係等が不確定となる.明らかにJPAはマルチ条件クエリでmybatiesより弱いと感じた.だからmybatiesをプロジェクト、データアクセス層に統合し、JPAとmybatiesを混用します.ここでmybatiesは主に特殊なクエリーに使用されます.
1.pom依存:
org.mybatis.spring.boot
mybatis-spring-boot-starter
1.3.0
com.github.pagehelper
pagehelper
4.1.6
org.mybatis.generator
mybatis-generator-maven-plugin
1.3.5
2.コード生成構成(resourcesディレクトリの下):
3.mybatis構成
#mybatis
mybatis:
type-aliases-package: api.qooco.com.petstore.entity
mapper-locations: classpath*:/sqlMapperXml/*.xml
configuration:
map-underscore-to-camel-case: true
use-generated-keys: true
default-fetch-size: 100
default-statement-timeout: 25000
cache-enabled: true
aggressive-lazy-loading: true
lazy-loading-enabled: false
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
4.ページング構成:
@Configuration
@EnableJpaAuditing
@EnableTransactionManagement
@EnableSpringDataWebSupport
@MapperScan("api.xxx.com.petstore.mapper")
public class AppConfig {
@Bean
public PageHelper pageHelper() {
PageHelper pageHelper = new PageHelper();
Properties p = new Properties();
p.setProperty("dialect", "mysql");
p.setProperty("supportMethodsArguments", "true");
p.setProperty("autoRuntimeDialect", "true");
p.setProperty("offsetAsPageNum", "true");
p.setProperty("rowBoundsWithCount", "true");
p.setProperty("reasonable", "true");
p.setProperty("returnPageInfo", "always");
p.setProperty("params", "count=countSql");
pageHelper.setProperties(p);
return pageHelper;
}
}
}