ホームページ >Java >&#&チュートリアル >MyBatisを統合したSpring BootのJavaインスタンスの詳細な説明

MyBatisを統合したSpring BootのJavaインスタンスの詳細な説明

Y2J
Y2Jオリジナル
2017-04-25 15:48:481698ブラウズ

Spring Boot は、Pivo​​tal チームが提供する新しいフレームワークで、新しい Spring アプリケーションの初期構築と開発プロセスを簡素化するように設計されています。このフレームワークは構成にアドホックなアプローチを使用するため、開発者が定型的な構成を定義する必要がありません。このようにして、Spring Boot は、急速なアプリケーション開発という急成長を遂げている分野のリーダーになることを目指しています。

MyBatis を統合する前に、最初に druid データ ソースを構成します。

Spring Boot シリーズ

1. Spring Boot の概要

2. Spring Boot プロパティの設定と使用方法

3. Spring Boot は MyBatis を統合します

4. Spring Boot の静的リソース処理

5.Spring Boot - 構成の依存関係の並べ替えスキル

Spring Boot は druid を統合します

druid には多くの構成オプションがあり、Spring Boot 構成ファイルを使用して druid を簡単に構成できます。

application.yml 設定ファイルに次のように書き込みます:

spring:

datasource:
  name: test
  url: jdbc:mysql://192.168.16.137:3306/test
  username: root
  password:
  # 使用druid数据源
  type: com.alibaba.druid.pool.DruidDataSource
  driver-class-name: com.mysql.jdbc.Driver
  filters: stat
  maxActive: 20
  initialSize: 1
  maxWait: 60000
  minIdle: 1
  timeBetweenEvictionRunsMillis: 60000
  minEvictableIdleTimeMillis: 300000
  validationQuery: select 'x'
  testWhileIdle: true
  testOnBorrow: false
  testOnReturn: false
  poolPreparedStatements: true
  maxOpenPreparedStatements: 20

ここでタイプ com.alibaba.druid.pool.DruidDataSource を使用して設定できます。

Spring Boot は MyBatis を統合します

Spring Boot を MyBatis と統合するには 2 つの方法があります。1 つの簡単な方法は、公式の MyBatis を使用することです:

mybatis-spring-boot-starter

もう 1 つの方法はまだです。 mybatis-spring と同様の設定方法を使用します。この方法では、自分でコードを記述する必要がありますが、MyBatis のさまざまな設定を簡単に制御できます。

1. mybatis-spring-boot-starter メソッド

pom.0 バージョンに依存関係を追加します。

3.3.0を通じてデフォルトのバージョンを変更できます。バージョン>プロパティ。

mybatis-spring はバージョン 1.2.3 を使用します。デフォルトのバージョンは、MyBatisを統合したSpring BootのJavaインスタンスの詳細な説明

1.2.3 を通じて変更できます。

application.yml に構成を追加します:

mybatis:

mapperLocations: classpath:mapper/*.xml

typeAliasesPackage: tk.mapper.model

上記の 2 つの一般的な構成に加えて、以下もあります:

mybatis.config: mybatis-config.xml 設定ファイルへのパス

mybatis.typeHandlersPackage: typeHandlers のパッケージをスキャンする
  • mybatis.checkConfigLocation: 設定ファイルが存在するかどうかを確認する
  • mybatis.executorType : 実行モード(SIMPLE、REUSE、BATCH)を設定します。デフォルトはSIMPLEです
  • 2. mybatis-springメソッド

こちらのメソッドが通常の使い方に近いです。 mybatis 依存関係と mybatis-spring 依存関係を追加する必要があります。

次に、MyBatisConfig 構成クラスを作成します。

<dependency>
 <groupId>org.mybatis.spring.boot</groupId>
 <artifactId>mybatis-spring-boot-starter</artifactId>
 <version>1.0.0</version>
</dependency>
注釈トランザクションをサポートするために、@EnableTransactionManagement 注釈が追加され、PlatformTransactionManagerBean が返されます。

この設定には MapperScannerConfigurer が存在しないことにも注意してください。MyBatis の Mapper インターフェイスをスキャンしたい場合は、このクラスを別のクラスに設定する必要があります。

/**
 * MyBatis基础配置
 *
 * @author liuzh
 * @since 2015-12-19 10:11
 */
@Configuration
@EnableTransactionManagement
public class MyBatisConfig implements TransactionManagementConfigurer {
 @Autowired
 DataSource dataSource;
 @Bean(name = "sqlSessionFactory")
 public SqlSessionFactory sqlSessionFactoryBean() {
  SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
  bean.setDataSource(dataSource);
  bean.setTypeAliasesPackage("tk.mybatis.springboot.model");
  //分页插件
  PageHelper pageHelper = new PageHelper();
  Properties properties = new Properties();
  properties.setProperty("reasonable", "true");
  properties.setProperty("supportMethodsArguments", "true");
  properties.setProperty("returnPageInfo", "check");
  properties.setProperty("params", "count=countSql");
  pageHelper.setProperties(properties);
  //添加插件
  bean.setPlugins(new Interceptor[]{pageHelper});
  //添加XML目录
  ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
  try {
   bean.setMapperLocations(resolver.getResources("classpath:mapper/*.xml"));
   return bean.getObject();
  } catch (Exception e) {
   e.printStackTrace();
   throw new RuntimeException(e);
  }
 }
 @Bean
 public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) {
  return new SqlSessionTemplate(sqlSessionFactory);
 }
 @Bean
 @Override
 public PlatformTransactionManager annotationDrivenTransactionManager() {
  return new DataSourceTransactionManager(dataSource);
 }
}

この設定では @AutoConfigureAfter(MyBatisConfig.class) に注意してください。存在しない場合は例外が発生します。その理由は、このクラスは比較的早い段階で実行され、sqlSessionFactory がまだ存在しないため、その後の実行エラーが発生するためです。

上記の設定が完了すると、MyBatis を使用できるようになります。

ページングプラグインとユニバーサルMapperの統合について

プラグインとしてのページングプラグインの例は上記のコードにあります。

Mapperの一般的な設定は、実際にはMapperScannerConfigurerの設定時にtk.mybatis.spring.mapper.MapperScannerConfigurerを使用し、Propertiesを使用してプロパティを設定します。

Spring Boot は MyBatis の基本プロジェクトを統合します

2 番目の方法を使用して統合プロジェクトを github にアップロードし、ページング プラグインとユニバーサル マッパーを統合しました。このプロジェクトには、参考のためにのみ、簡単な構成と操作が含まれています。

プロジェクトアドレス: https://github.com/abel533/MyBatis-Spring-Boot

ページングプラグインと一般的なMapperに関する関連情報は、上記のアドレスで見つけることができます。

関連資料:

Spring Boot クイック スタート ガイド

Spring Boot クイック スタート チュートリアル

以上がMyBatisを統合したSpring BootのJavaインスタンスの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。