ソースコードを最初に置きます:夢ブログ
プロジェクト構造の分析
SSM 開発プロセスにすでに精通している場合は、SpringBoot プロジェクト アーティファクトの作成を簡素化し、必要な名前を直接追加できます。ここと同じにするのが最善です。src/java は第 3 レベルのディレクトリです。このディレクトリを複雑にしないでください。
デフォルトでは @Autowired や @Mapper @Repository などのいくつかのアノテーションをスキップします。
- AOPが何をしているのか分かりません、とにかくログイベントのようです、理解できません
- config は、インターセプターによってインターセプトされるバックグラウンド ログイン クラスです。
- コントローラーは、バックエンド データとフロントエンド ページ間の対話を実現する制御層です。
- interceptor は、ログインのインターセプトに対応するインターセプター設定の特別なクラスです。
- マッパーデータベース運用管理
- pojo (またはエンティティ) エンティティ クラスとその属性は、データベースのテーブル名と列名に対応します。
- サービス サービス層はデータベース操作を実行するだけです (マッパー)
- utils ツールキットには通常、アルゴリズム暗号化やプラグインなどが含まれていますが、よくわかりません。
- リソース リソース パッケージ static 静的リソース SpringBoot はデフォルトで static/このパスは直接/パッケージ名を参照します テンプレート パッケージは Web ページであり、mvc によって構成する必要があります。
- 通常、applicaiton.yml 構成ファイルが使用されます。
データベースのデータソースは、thymeleaf がコントローラが対応する Web ページにジャンプするためのキーであることを説明していません。Mybatis は、mapper.xml の場所をロックしています。インターフェイスと xml ファイルが一緒にまとめられているため、このプロジェクトにはマッパー ロケーション設定がありません。
・・・xml
サーバー: ポート: 8080 春: データソース: ドライバークラス名: com.mysql.cj.jdbc.Driver ユーザー名: root パスワード: 123456 タイプ: com.alibaba.druid.pool.DruidDataSource URL: jdbc:mysql://localhost :3306/myblog thymeleaf: キャッシュ: false モード: HTML プレフィックス: クラスパス:/templates/ サフィックス: .html mybatis: type-aliases-package: com.dreamchaser.pojo 設定: log-impl: org.apache.ibatis.logging。 slf4j.Slf4jImpl ログプレフィックス: マッパー。
「」
pom.xml の依存関係に関しては、ソースコードが既に詳細に記述されているため、アップロードするのが面倒です。
個人的におすすめの開発アイデア:
データベース --> エンティティクラス --> DAO 層 --> サービス層 --> コントローラ層 --> その他のサポート: ツールまたはインターセプト
自動データ テーブル生成を使用しない場合は、最初にデータベースを作成し、データをインポートする必要があります。
バックエンドのソース/Java:
エンティティクラス
属性名はデータテーブルのカラム名と同じなのでコードを見れば分かります。
だおクラス
データベースの操作方法のインターフェース、どのような関数を記述する必要があるか、どのような関数が一般的に追加、削除、変更、確認されるのか。注釈 @mapper ステートメントの使用に注意してください
または @Repository が注入可能な Bean を実装する
サービスクラス
サービス インターフェイスとサービス実装クラスが含まれています。サービス インターフェイスは dao インターフェイスと一致しています。実装クラスの注釈 @Service および @Autowired は、操作するデータベース メソッドを実装するために必要な dao クラスを挿入します。頭の悪い alt+insert.... 。
フロントエンドは thymeleaf テンプレートを使用します。
サポートを導入するために <html xmlns:th="//www.thymeleaf.org"> を使用していることに注意してください。
追加テーマ
ここで重要なのは、mybatis-generator または Spring data jpa を使用して 2 つのケースでコードを自動生成することです。
mybatis-generator はコードを生成します。
経口基本構成:
pom.xml には mysql が必要です mybatis ジェネレーター-コア ジェネレーター-maven-plugin
maven を忘れずに追加してください
```xml
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
</設定>
</プラグイン>
「」
```yml
春: データソース: ドライバークラス名: com.mysql.cj.jdbc.Driver ユーザー名: root パスワード: 123456 タイプ: com.alibaba.druid.pool.DruidDataSource URL: jdbc:mysql://localhost:3306/myblog thymeleaf : キャッシュ: false モード: HTML プレフィックス: クラスパス:/templates/ サフィックス: .html
#mybatis-plus を使用して、次のようなパスに注目してください
mybatis: type-aliases-package: com.dreamchaser.pojo マッパーの場所: あなたのパス
「」
次に、generatorConfig.xml はリソースのルート ディレクトリを配置します。
jarパッケージのjdbc接続情報の変更
エンティティクラスアドレスの生成
map.xmlファイルの格納アドレスの生成 インターフェーステーブルの
テーブル
名
生成 複数のテーブルに対応するファイルを生成したい場合はテーブルタグを追加するだけ
mavenコマンドラインを追加 mybatis-generator:generate -e を実行
```xml
<?xml version="1.0"coding="UTF-8"?>
<!DOCTYPEgeneratorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "
http://mybatis.org/dtd /mybatis-generator-config_1_0.dtd">
<!-- 構成生成器 -->
<generatorConfiguration>
<!--classPathEntry: データベースの JDBC ドライバー。独自のドライバーの場所を選択できます-->
<classPathEntry location="D:\mysql-connector-java-8.0.28.jar"/>
<!-- 1 つのデータベース、1 つのコンテキスト、テーブルに関係なく、defaultModelType="フラット" 大きなデータ フィールド --> <
context id="MysqlTables" targetRuntime="MyBatis3Simple" defaultModelType="フラット">
<!-- SqlReservedWords で定義されたキーワード リストに従って、データベース キーワードを自動的に識別します。true に設定されている場合、デフォルトは false です。通常はデフォルト値を維持し、データベース キーワード (Java キーワード) に遭遇し、columnOverride を使用してオーバーライドします --> < プロパティ
名="autoDelimitKeywords" value="true"/>
<!-- 生成された Java ファイルのエンコーディング -->
<property name="javaFileEncoding" value="utf-8"/>
<!-- beginDelimiter とendingDelimiter: データベースのデータベース オブジェクト名をマークするために使用される記号を示します (ORACLE は二重引用符、MYSQL のデフォルトは `backticks; --> < property name="beginningDelimiter" value="`"
) />
<プロパティ名="endingDelimiter" 値="`"/>
<!-- Java コードのフォーマット -->
<property name="javaFormatter" value="org.mybatis.generator.api.dom.DefaultJavaFormatter"/>
<!-- 格式化XML代码 -->
<property name="xmlFormatter" value="org.mybatis.generator.api.dom.DefaultXmlFormatter"/>
<plugin type="org.mybatis.generator.plugins.SerializablePlugin" />
<plugin type="org.mybatis.generator.plugins.ToStringPlugin"/>
<!-- コメント -->
<commentGenerator>
<property name="suppressAllComments" value="true"/><!-- コメントをキャンセルするかどうか -->
<property name="suppressDate" value="false"/> < !-- コメント生成タイムスタンプを生成するかどうか -->
</commentGenerator>
<!-- jdbc接続-->
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/ssmtest?serverTimezone=UTC" userId="root"
password= "123456"/>
<!-- 型変換 -->
<javaTypeResolver>
<!-- bigDecimal を使用するかどうか、false で以下の型 (Long、Integer、Short など) を自動的に変換できます -->
<property name="forceBigDecimals" value= "false "/>
</javaTypeResolver>
<!-- エンティティ クラス アドレスを生成 -->
<javaModelGenerator targetPackage="com.my.entity" targetProject="src/main/java">
<!-- パッケージの接尾辞としてスキーマを使用するかどうか -->
<プロパティ名= "enableSubPackages" value="false"/>
<!-- データベースから返された値から先頭と末尾のスペースを削除します -->
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- map.xml ファイルの保存アドレスを生成 -->
<sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
<property name="enableSubPackages" value="false"/>
</sqlMapGenerator>
<!-- インターフェイスdao の生成 -->
<javaClientGenerator targetPackage="com.my.dao" targetProject="src/main/java" type="XMLMAPPER">
<property name="enableSubPackages" value="false"/>
</javaClientGenerator>
<!-- 複数のテーブルが存在する可能性があり、データベース内の各テーブルはテーブルを書き込むことができます。tableName は照合するデータベース テーブルを示します。または、tableName 属性で % ワイルドカードを使用してすべてのデータベース テーブルと照合し、照合するテーブルのみを照合することもできます。対応するインターフェースが生成されるかどうかを示すファイル EnableSelectByprimarykey 対応設定を自動的に生成します->
<table tablename = "user_info" EnableCountbyexample = "False"
EnableupDatexample = "Falsee "
Enabledeletebyexample ="
False "EnableSelectByexample =" False "
SelectByexampleQueryid =" False " "
enableSelectByPrimaryKey="true"
enableUpdateByPrimaryKey="true"
enableDeleteByPrimaryKey="true">
</テーブル>
</context>
</generatorConfiguration>
「」
操作が成功すると、エンティティクラスのdaoインターフェースクラスとマッパーのxmlファイルを生成できます。
Spring Data JPaはデータテーブルを自動生成します
springboot プロジェクトを作成し、jpa を追加します。他の mysql ドライバーについては多くを言いません。
```yml
春: データソース: ドライバークラス名: com.mysql.cj.jdbc.Driver ユーザー名: root パスワード: 123456 タイプ: com.alibaba.druid.pool.DruidDataSource URL: jdbc:mysql://localhost:3306/myblog thymeleaf : キャッシュ: false モード: HTML プレフィックス: クラスパス:/templates/ サフィックス: .html jpa: Hibernate: ddl-auto: update show-sql: true
#mybatis-plus を使用して、次のようなパスに注目してください
mybatis: type-aliases-package: com.dreamchaser.pojo マッパーの場所: あなたのパス
「」
エンティティ クラスの記述方法は非常に重要です。
@Entity //エンティティクラスとデータテーブルマッピングクラスであることをjpaに伝える
@Table(name = "tbl_user") //どのデータテーブルに対応するかを指定 テーブル名を省略した場合、クラス名は小文字
@Id / /これは主キーです
@GeneratedValue(strategy = GenerationType.IDENTITY) //自動インクリメント主キー
@Column(name="last_name",length = 50) //データテーブルに対応する列
@Column //デフォルトの列名は属性名です
手書きの例
```ジャバ
@実在物
//Table(name="myname") デフォルトのテーブル名テスト
パブリッククラス Test(){
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
プライベートの長い ID。
@桁
プライベート文字列テスト名;
}
「」
SpringBoot プロジェクトを開始するだけです
リソースが導入され、サーバーがトラフィックに耐えられない