MyBatisの初歩使用
5168 ワード
[[
SELECT id,pid FROM `condition` WHERE id <= #{id}
]]>
1、一括更新id="batchUpdate" parameterType="java.util.List">
update test set test=${item.test}+1 where id in
"list" item="item" index="index" open="(" close=")" separator=",">
${item.id}
提案しないいくつかの方法:1、foreachを外に置くと、何度もudateを実行します。何度もデータベースを開けます。2、case when操作。これは上に置いたsqlと同じように見えます。全部一回だけ実行すれば、大量更新の目的に達します。しかし、テストしたら、効率が遅すぎて、使えないかもしれません。Mybatis一括更新配置(Mysql batch udate)
2、〹と$foreachでの使用
"updateCardStatus">
update ctcc set credit = 1 where md5 in
<foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
#{item,jdbcType=VARCHAR}
foreach>
以上は正確なmybatis文であり、機能は一括更新ctccテーブルのcreditフィールドが1に等しい。md 5がforeachサイクルにおけるlist値の範囲内である。肝心な点は#{item,jdbcType=VARCHAR}
多くの人がforeachの中でドルを使うべきだと言っていますが、铉号ではなくて、$のパラメーターが直接出力されると解釈しています。パラメータ値を入力して実行します。ここではドル記号を使って間違えました。Cause:comme.mysql.jdbc.Mysql Data Truncation:Data truncation:Illgal double‘002344 e 1860’value found during parsing;SQL[]Data truncation:Illgal double‘002344 e 1860’value found during parsing;neted exception is comple.mysql.jdbc.Mysql Data Truncation:Data truncation:Illgal double'002344 e 1860'value found parsing
Mybatis foreach一括操作
mysqlに基づいてmybatisのforeachを深く研究します。
3、照会結果がない
<select id="queryId" resultType="int">
select IFNULL(MAX(mid),-1) as mid from id_config where operator = #{operator} order by id desc limit 1
select>
コアとは、IFNULL関数を使用しています。検索結果が出ない場合は、-1または他の指定された値です。MyBatisクエリを使って返すタイプはintですが、クエリ結果が空のNULLである場合、異常な解決方法が報告されます。
4、レスリングTypeとレスリングMap
普通なら、私はresultTypeを使います。select insert udateなどの語句が含まれています。戻りは何であれ、例えばint値を返したら、resultType='int'で、一つのセットに戻ると、resultType='comp.xm.po.AoPo'となりますので、ここでカバン名を使う必要があります。この属性を付けなくてもいいです。また、レスリングキティpeの使用状況は、個人的には照会の結果に該当する実体類がないと考えられていますので、手動でMapを作成してクエリの結果をロードする必要があります。
id="userResultMap" type="User">
<id property="id" column="user_id" />
<result property="username" column="username"/>
<result property="password" column="password"/>
mybatisでのレスリングTypeとレスリングMapの使い分け5、プロジェクトの配置
プロジェクトをwarパッケージにしてtomcatで展開する方法、手順及び注意点Unipported majer.minor version 52.0解決方法[tomcat 7ソース学習]初期化のcatalina.homeとcatalina.base(回転)Tomcat For Linuxのインストールと配置の詳細はリアルタイムでlinux下のtomcat運行ログを確認します。
6、試験用例を追加する
https://blog.csdn.net/a86261566/article/details/50459487 http://www.51testing.com/html/61/n-3714961.html