MyBatisの、リバースエンジニアリングツールは、一般的に、単純な単一の操作のためのインタフェースとxmlファイルマッピングテーブルを生成します。
updateByExampleとupdateByExampleSelective、データベース更新操作の役割:二つの方法があります。(また、挿入およびinsertSelectiveボール状!)
注:1、後者ははるかに動的なタグ<もしテスト=「XXX = NULL!」>決意、ヌル値、挿入操作を行わないであることを除いて。
2、updateByExampleSelective条件は、主キーを含んでも含まなくても、プライマリ・キーを更新しなくてもよい。updateByExample条件は、主キーに含まれなければなりません。
updateByExample:
<更新ID = "updateByExample"のParameterType = "マップ"> 更新tb_itemの セットID =#{record.id、jdbcType = BIGINT}、 タイトル =#{record.title、jdbcType = VARCHAR}、 sell_point =#{record.sellPoint、 jdbcType = VARCHAR}、 価格 =#{record.price、jdbcType = BIGINT}、 NUM =#{record.num、jdbcType = INTEGER}、 バーコード =#{record.barcode、jdbcType = VARCHAR}、 画像 =#{レコード。画像、jdbcType = VARCHAR}、 CID =#{record.cid、jdbcType = BIGINT}、 ステータス =#{record.status、jdbcType =TINYINT}、 作成 =#{record.created、jdbcType = TIMESTAMP}、 更新 =#{record.updated、jdbcType = TIMESTAMP} < もしテスト= "_パラメータ!= nullの"> <REFIDが含ま= "Update_By_Example_Where_Clause" /> </ もし > > </更新
updateByExampleSelective:
<更新ID = "updateByExampleSelective"のParameterType = "マップ"> 更新tb_item <セット> < もしテスト= "record.id!= NULL"> ID =#{record.id、jdbcType = BIGINT} </ 場合 > < もしテスト= "record.title!= NULL"> 表題 =#{record.title、jdbcType = VARCHAR} </ 場合 > < もしテスト= "record.sellPoint!= NULL"> sell_point =#{record.sellPoint、jdbcType = VARCHAR} </ 場合 > <もしテスト= "record.price!= nullを"> 価格 =#{record.price、jdbcType = BIGINT}、 </ 場合 > < もしテスト= "record.num!= nullの"> NUM =#{record.num、jdbcType = INTEGER} </ 場合 > < もしテスト= "record.barcode!= NULL"> バーコード =#{record.barcode、jdbcType = VARCHAR} </ 場合 > < もしテスト= "record.image!= NULL" > 画像 =#{record.image、jdbcType = VARCHAR}、 </ 場合 > <もしテスト= "record.cid!= NULL"> CID =#{record.cid、jdbcType = BIGINT} </ 場合 > < もしテスト= "record.status!= NULL"> ステータス =#{record.status、 jdbcType = TINYINT} </ 場合 > < もしテスト= "record.created!= NULL"> 作成 =#{record.created、jdbcType = TIMESTAMP} </ 場合 > < もしテスト= "record.updated!= NULL "> 更新 =#{record.updated、jdbcType = TIMESTAMP} </ もし> </セット> < 場合、テスト= "_パラメータ!= nullの"> <REFID = "Update_By_Example_Where_Clause"が含まれる/> </ 場合 > </更新>
UpdateByExampleSelectivce使用:
ProLogExample例=新しいProLogExample()。
example.createCriteria()andNameEqualTo(xiaoming.getName())。
proLogMapper.updateByExampleSelective(暁、一例)。