一般的なCRUD

增:@Insert( "t_userへの挿入(` last_name`、 `sex`)の値(#{lastNameの}、#{性別})")
 
删:@Delete( "ID =#{ID} t_userから削除")
 
改:@Update( "更新t_userセットLAST_NAME =#{lastNameの}、性別=#{性別} ID =#{ID}")
 
查:@Select( "ID =#{ID} t_userから選択ID、姓、性別")
 
MyBatisのパラメータの受け渡し:
1.一般的なデータ・タイプ渡し:パラメータとして渡された名前に{#}変数名(推奨)
コード:パブリックユーザーqueryUserById(int型のID); 
`id`、` last_name` lastNameの、t_userからID =#{ID} `sex`を選択
 
2.一般的なデータ・タイプ転送の複数
プロセスパラメータの方法1は、一般的なデータ・タイプが複数、使用#{PARAM1}、{#PARAM2}に引数として渡されている......
代码:公共リスト<ユーザ> queryUsersByNameAndSex(文字列名、int型の性別)。
`id`、` last_name` lastNameの、 `#{PARAM1}及び性別=#{PARAM2}様t_user LAST_NAMEからsex`を選択
方法2 @Param注釈という名前のパラメータ(推奨)
公共の一覧<ユーザ> queryUsersByNameAndSex(@Param( "名前")文字列名、Paramの@( "性別")int型の性別)。
`id`、` last_name` lastNameの、 `#{名前}と性別=#{性別}様t_user LAST_NAMEからsex`を選択
 
3.パラメータとしてマップ・オブジェクトを送信する:出力パラメータ値ように#{mapKey}。
地図<文字列、オブジェクト>のparam =新しいHashMapの<文字列、オブジェクト>();
param.put( "名前"、 "%%BBB");
param.put( "性別"、1);
#{} mapKey方法出力パラメータ値です。
代码:公共リスト<ユーザ> queryUsersByMap(地図<文字列、オブジェクト>のparam);
`id`、` last_name` lastNameの、 `#{名前}と性別=#{性別}様t_user LAST_NAMEからsex`を選択
 
4. POJOパラメータとして渡すオブジェクト:パラメータの着信データ・タイプがPOJOである場合(JavaBeanオブジェクト)。次に、XML属性名に使用} {#
代码:公共リスト<ユーザ> queryUsersByUser(ユーザーユーザー);
`id`、` last_name` lastNameの、t_userからLAST_NAME#{lastNameの}と性別=#{性別}のような `sex`を選択
 
パラメータとして送信POJOオブジェクトの複数#{Param1のプロパティ名}、{#PARAM2属性名...}
代码:公共リスト<ユーザ> queryUsersByUsers(ユーザー名、ユーザーの性別)。
`id`、` last_name` lastNameの、 `t_userからLAST_NAME#{param1.lastName}及び性別=#{param2.sex}等sex`を選択
 
6.あなたが行うとき、MyBatisのは、自動的に地図でそれをラップし、キーの名前だろう、MyBatisのに渡されたパラメータとしてListインスタンスまたはオブジェクトの配列を渡します。Listインスタンスは、キーとして「リスト」に、キーとして配列「配列」となります
 
7.Mysql文字列一緒に、concat関数の実装
代码:公共リスト<ユーザ> queryUsersByName(@Param( "名前")文字列名)。
`id`、` last_name` lastNameの、 `t_userから連結等LAST_NAME( '%'、#{名前}、 '%')sex`を選択
 
このresultMapとresultTypeとの違い
<選択し、ID = "queryUsersByName" resultTypeと= "com.atguigu.pojo.User">
我々は、戻り値の型を定義するresultTypeとで直接使用することができ、クエリは、単純なJavaBeanのオブジェクトを返します
私たちのクエリの結果は、JavaBeansを返す場合でも、またjavaBeanの含まれている、またはオブジェクトのコレクションが含まれていたjavaBean
さて、今回は、このresultMapの定義からのみ結果が返さ。
 
8.動的SQL文はforeachの:例えば、(1,2,3)、foreachの要素には、コレクションを指定することができます非常に強力な機能であり、要素はアイテムとインデックス変数の本体で使用することができます宣言。それはまた、あなたが文字列マッチング途中で区切り文字を閉鎖し、反復を置くことを指定することができます。それが誤って余分な区切りを追加しませんので、この要素は、スマートです。
t_userから削除どこIDで
<foreachのコレクション= "ユーザID" 項目= "ID" オープン= "(" セパレータ= "" クローズ= ")">
        #{ID}
</ foreachの>
動的SQLステートメントの場合:
選択したユーザー名、電子メール、t_userからCREATETIME
<場所>
    <テスト= "QUERYTEXT!= null" の場合> 
            CONCAT( '%'、#{QUERYTEXT}、 '%')のようなloginacct
    </ IF>
</場所>
 
挿入操作の文字列を戦うのforeach動的SQL文:
<! - t_user_roleへの挿入(ユーザーID、roleid)の値(1,3)、(1,4)、(1,5) - >
t_user_roleに挿入(ユーザーID、roleid)の値 
<foreachのコレクション= "roleIds" 項目= "roleid" セパレータ= "">
    (#{ユーザID}、{#roleid})
</ foreachの>

おすすめ

転載: www.cnblogs.com/liuyi13535496566/p/12079200.html