序文
この記事では、主にMySQLを使用してMyBatisを統合してプライマリキーUUIDを実装するSpring Bootを統合することに関する関連コンテンツを紹介します。あなたの参照と学習のためにそれを共有します。以下ではあまり言いません。詳細な紹介を一緒に見てみましょう。
成し遂げる
基本プロジェクトのpom.xml部分は次のとおりです
<properties> <java.version> 1.8 </java.version> </properties> <! - spring boot-> <parent> <groupid> org.springframework.boot </groupid> <artifactid> spring-boot-starter-parent </artifactid> <依存関係 - > <依存関係> <groupId> org.springframework.boot </groupid> <artifactid> spring-boot-starter-web </artifactid> </dependency> <redency> <groupid> org.springframework.boot </groupid> <artifactid> spring-jdbc <groupid> org.springframework.boot </groupid> <artifactid> spring-boot-starter-test </artifactid> <scope>テスト</scope> </依存関係> <! - 頻繁に使用されるライブラリ依存関係 - > <依存症> <依存症> <groupid> commons-codec </gripifid> </edifcodec> <groupid> org.apache.commons </groupid> <artifactid> commons-lang3 </artifactid> <version> 3.6 </version> </dependency> <依存関係> com.google.guava </groupId> <artifactid> guava </artifactid> 23.0 </バージョン> <Dependency> groupId> mysql </groupid> <artifactid> mysql-connector-java </artifactid> <scope> runtime </scope> </dependency> <! - mybatis and plugin依存関係 - > <依存症> <groupid> org.mybatis < <バージョン> 1.3.1 </version> </dependency> <依存関係> groupid> org.mybatis </groupid> <artifactid> mybatis </artifactid> <バージョン> 3.4.5 </version> </dependency> <依存関係> <groupid> tk.mybatis </groupid> mapper </verion> </4.> </dependency> <dependency> groupid> com.github.pagehelper </groupid> <artifactid> pagehelper </artifactid> <バージョン> 4.2.1 </version> </dependency> <! - ali fastjson依存関係 - > <依存> <依存関係> <GroupId> com.alibaba < <バージョン> 1.2.44 </version> </dependency> <! - ali druid spring bootスターター依存関係 - > <依存関係> groupid> com.alibaba </groupid> <artifactid> druid-spring-boot-starter </artifactid> <バージョン> 1.1.6 </バージョン>
特定のMyBatis構成は次のとおりです
@bean public mapperscannerconfigurer mapperscannerconfigurer(){mapperscannerconfigurer mapperscannerconfigurer = new mapperscancannoconfigurer(); mappperscannerconfigurer.setsqlsessionfactorybeanname( "sqlsessionfactorybean"); mappperscannerconfigurer.setBasePackage(mapper_package); //一般的なマッパーを構成します。詳細については、公式ドキュメントを参照してください。プロパティ= new Properties(); properties.setProperty( "mappers"、mapper_interface_reference); properties.setProperty( "notempty"、 "true"); //文字列タイプを決定するかどうか!= ''、つまり、str!= '' property.setProperty( "Identity"、 "Select uuid()"); mapperscannerconfigurer.setProperties(プロパティ); Return MapperScannerConfigurer; }エンティティは次のとおりです
public class user {@id @column(name = "id")@generatedValue(Strategy = GenerationType.Identity)Private String ID; @column(name = "created_by")private string recutedby; @datetimeformat(pattern = "yyyy-mm-dd hh:mm:ss")@column(name = "created_date")private date createddate; @column(name = "last_modified_by")private string lastmodifiedby; @datetimeformat(pattern = "yyyy-mm-dd hh:mm:ss")@column(name = "last_modified_date")private date lastmodifieddate;次のコード行は、パラメーターエントリが日付タイプの場合、スプリングMVCの例外の問題を解決することです。
@datetimeformat(pattern = "yyyy-mm-dd hh:mm:ss")
テスト
構成ファイル構成出力MyBatis SQLログ
logging.level.com.your daoまたはmapper packag = debug
対応する挿入操作を実行して、コンソールを観察します
2018-03-06 17:59:22.612 DEBUG 6208 --- [NIO-8686-EXEC-1] XXXXX:==>実行:uuid()2018-03-06 17:59:22.629 Debug 6208 --- [NIO-8686-EXEC-12-06-06-06-06-06-06-06-06-06-06-06-06-06-06-06-011- 17:59:22.651デバッグ6208 --- [NIO-8686-EXEC-1] xxxxx:==>準備:ユーザーに挿入( id、user_name、nick_name、pwd_salt、pwd_login、created_by、created_date、last_modified_by、last_modified_date、account_type、counced_locked、online_status、group_id、group_name)values(?、?、?、?、? [NIO-8686-EXEC-1] XXXXX:==>パラメーター:0B97AD1B-2125-11E8-9B42-704D7B7036D3(String)、2(String)、2018-01-01 01:07:05.0(Timestamp)、2(String)、2018-01-01 01:07:05.0(タイムスタンプ)2018-03-06 17:59:22.670デバッグ6208 --- [NIO-8686-EXEC-1] XXXXX:<==更新:1
UUIDのクエリの操作が最初に実行され、次に実行の結果が挿入の主キーとして使用されることがわかります。
要約します
上記は、この記事のコンテンツ全体です。この記事の内容には、すべての人の研究や仕事に特定の参照値があることを願っています。ご質問がある場合は、メッセージを残してコミュニケーションをとることができます。 wulin.comへのご支援ありがとうございます。