1.MyBatisの最適化
1.1つのファイルのプロパティのデータベース内の接続構成情報
Db.propertiesは、ファイルを作成し、コンテンツを追加します。
ドライバ=はcom.mysql.jdbc.Driver
URL = JDBCます。mysql:// localhostを:3306 / MyBatisの
ユーザ名=ルート
パスワード= 123456
conf.xml設定ファイルで:
< プロパティリソース= "db.properties" /> <! -存放文件路径- > < 環境デフォルト= "開発" > < 環境ID = "開発" > < トランザクションマネージャーのタイプ= "JDBC" /> < データソースのタイプ= "POOLED" > < プロパティ名= "ドライバ" 値= "$ {ドライバ}" /> <! -使用$ {属性} - > < プロパティ名= "URL" 値=」$ {URL}」 /> < プロパティ名= "ユーザ名" 値= "$ {ユーザー名}" /> < プロパティ名= "パスワード" 値= "$ {パスワード}" /> </ のdataSource >
1.2エイリアスは、エンティティクラス、標識の使用として定義されるtypeAliases
タイプ:エンティティクラスパスの別名:別名を再生します
< typeAliases > < typeAliasを入力= "com.zhiyou.zyl.bean.Users" 別名= "_ユーザー" /> </ typeAliases >
1.3ログのjarパッケージ、エラーを発見する用語を追加
Log4jのジャーパッケージを追加します:log4jの-1.2.16.jar
log4j.propertiesファイルを作成します。
log4j.properties、
log4j.rootLogger = DEBUG、コンソール
#Console
log4j.appender.Console = org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout = org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern =%D [%のT]%-5p [%のC] - %のM%N
log4j.logger.java.sql.ResultSet = INFO
log4j.logger.org.apache = INFO
log4j.logger.java.sql.Connection = DEBUG
log4j.logger.java.sql.Statement = DEBUG
log4j.logger.java.sql.PreparedStatement = DEBUG
結果は次のようになります。
2.フィールド名を解決し、属性名は、同じエンティティクラスの競合ではありません
あなたはエンティティクラスのテーブルを作成するときに、あなたのような、エンティティクラスの属性やデータテーブルのフィールド名を設定するためのイニシアチブを取る必要があり、時には矛盾したフィールド名とエンティティクラス属性は、プロパティが解決されませんMyBatisのは、これに対処する必要があります矛盾します。
表および試験データ
CREATE TABLEの注文を( ORDER_ID INT PRIMARY KEY AUTO_INCREMENT、 ORDER_NO VARCHAR(20 )、 order_priceのFLOAT )。 INSERT INTO注文(ORDER_NO、order_price)VALUES(' AAAA '、23 ); INSERT INTO注文(ORDER_NO、order_price)VALUES(' BBBB '、33 ); INSERT INTO(ORDER_NO、order_price)受注VALUES("CCCC "、22);
エンティティクラス:
パブリック クラス注文{ プライベート int型のID。 プライベート文字列なし。 プライベート フロート価格; }
競合を解決するには2つの方法:
最初のクエリのフィールドの別名からSQL文で
< 選択ID = "getOrder" ParameterTypeが= "INT" resultTypeと= "com.zhiyou.zyl.bean.Orders" > ORDER_ID =#{ID}注文からORDER_NOない、order_price価格、ORDER_ID IDを選択 </ 選択>
II:使用<このresultMap>タグ
< SELECT ID = "getOrder" このresultMap = "注文" <! - ResulyMap = "このresultMap IDタグ名" - >> SELECT * ORDER_ID IDからの受注=#{}
</ SELECT > < このresultMap タイプ=「COMを。 zhiyou.zyl.bean.Orders " ID ="注文" > < ID 列=" ORDER_ID " プロパティ=" ID " /> <! - ID主キー、他の分野になり、列フィールド名、エンティティクラスのプロパティプロパティ- > < 結果列を= "ORDER_NO" プロパティ= "NO" /> <結果列=「order_price」プロパティ= "価格" /> </ このresultMap >