mybatis mapper.xmlファイルのsql書き方

4099 ワード

1.文の末尾にセミコロンは使用できません.
例:
 

2.sqlに比較的大きなエスケープ<,>が必要である.ここでは転義を省略して使用します.
例:
<
<=
>
>=
&
'
"
<
<=
>
>=
&
'
"
例:
select name from tbl_user where age > #{age}

 #{age}   ]]>

age>= #{age}
使用方法はxmlの構文です.CDATA内部のすべての内容は解析器に無視される.しかし、そのため等ラベル自体の機能が失効することになるので、使用時に特殊文字を含む文や文字自体を入れる、その作用範囲をできるだけ正確にすることができる.
3.sql文に格納される内容は綴り文字列であり、二重引用符、単引用符などの特殊記号をエスケープ処理する.
例:orgを使用する.apache.commons.lang 3下のバッグ
sqlリポジトリ:StringEscapeUtils.escapeJava(conent);    
sqlクエリの取り出し:StringEscapeUtils.unescapeJava(conent);  
同様の方法としてはescapeSql,html,javascript,xmlなどがある.皆さんも使ってみてください
pomガイド

			org.apache.commons
			commons-lang3
			3.8.1
		

4.sqlを挿入し、共通ラベルの使用を記録する

    
      
        
          
            
              
                
                  and ${criterion.condition}
                
                
                  and ${criterion.condition} #{criterion.value}
                
                
                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
                
                
                  and ${criterion.condition}
                  
                    #{listItem}
                  
                
              
            
          
        
      
    
  


 
    insert into hki_meta_datasource
    
      
        id,
      
      
        d_name,
      
      
        d_type,
      
      
        d_url,
      
      
        d_username,
      
      
        d_password,
      
      
        d_driver_class,
      
      
        d_query_class,
      
      
        options,
      
      
        d_desc,
      
    
    
      
        #{id,jdbcType=INTEGER},
      
      
        #{dName,jdbcType=VARCHAR},
      
      
        #{dType,jdbcType=VARCHAR},
      
      
        #{dUrl,jdbcType=VARCHAR},
      
      
        #{dUsername,jdbcType=VARCHAR},
      
      
        #{dPassword,jdbcType=VARCHAR},
      
      
        #{dDriverClass,jdbcType=VARCHAR},
      
      
        #{dQueryClass,jdbcType=VARCHAR},
      
      
        #{options,jdbcType=VARCHAR},
      
      
        #{dDesc,jdbcType=VARCHAR},