創造を続け、成長を加速させましょう!「ナゲッツデイリーニュープラン・6月アップデートチャレンジ」に参加した初日です。クリックしてイベントの詳細をご覧ください。
プロジェクトの背景
プロジェクトの当初は、プラグインおよび機能の補足として位置付けられ、既存のOAが各プロセスのデータをカウントするためのレポート機能を提供していました。
機能は非常にシンプルです。開発速度を考慮して、開発はspringboot
プロジェクト、依存関係のみが使用されます。spring-boot-starter-web, spring-boot-starter-jdbc, sqljdbc4, lombook
を使用し@Bean
てsql
必要なJdbcTemplate
インスタンスを挿入し、sql
後続のすべての操作はを使用して実行さtemplate.queryForList(sqlStr)
れます。
無視されたSQLは複雑であり、文字列テンプレートはjava8
まだサポートされていないため、コード内のSQLは次のようになります。
読み取りと変更は非常に不便です。決定はまだ導入することmybatis
です。主要な要求は、SQLの読み取り可能性と保守性を改善することです。
改造を開始
対応するインポートstart
pom.xml
springboot
専用のmybatis
依存関係を追加する
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.2</version>
</dependency>
复制代码
application.ymlの補足構成
mybatis
主sql
にxml
ファイル
mybatis:
mapper-locations:
- classpath:mybaits/*.xml
复制代码
補足フォルダ
プロジェクトに提案されているディレクトリレイアウトは次のとおりです。
|- src\main\java
|- com.xx
|- bean
|- mapper
xxxApplication
|- src\main\resources
|- static
|- mybaits
|- Request.xml
application.yml
复制代码
xxxApplication
このスタートアップクラスの同じレイヤーに、mapper
関連するインターフェイスファイルを格納xxMapper
する作成します。mybatisフレームワークに認識させるには、インターフェイスでクラスアノテーション@Mapperを使用する必要があります。コード例は次のとおりです
@Mapper
public interface RequestMapper {
}
复制代码
フォルダの下mybatis
に、xxMapper
に対応するxml
ファイルを保存します
mybatisの公式ドキュメントによると、sql
保存の標準xml
ファイル形式は次のとおりです。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.mybatis.example.BlogMapper">
<select id="selectBlog" resultType="Blog">
select * from Blog where id = #{id}
</select>
</mapper>
复制代码
mapper
タグの属性namespace
を変更して、自分の属性に対応させる必要があります。同じ形式で新しいクエリを補足します。xxMapper
<select></select>
最後にJdbcTemplate
、実装sql
により、仕様は対応するMapper + xml
ファイルになり、関連する関数呼び出しが調整され、プロジェクト全体の変換が基本的に完了します。
要約する
mybatis-spring-boot-starter
これのおかげでstart
、さらにいくつかのデフォルトの規則に従い、このプロジェクトにmybatis
適用する。この変換の最大の変更は、元のSQLをxxMapper + xx.xml
2つのです。
あなたはで書かxml
れ