Mybatis manual

bind 将导致where的判断错误

<!-- 
    if so, it will make the where judge is not correct
    <bind name="userName" value="'%'+_parameter.userName+'%'"/>
    <bind name="userFullName" value="'%'+_parameter.userFullName+'%'"/>
    <bind name="userTelephone" value="'%'+_parameter.userTelephone+'%'"/>
    <bind name="userEmail" value="'%'+_parameter.userEmail+'%'"/> 
    -->
     
        select <include refid="Column_short" />  from user 
        
        <where>
        <if test="userName!=null and userName.trim()!=''">
        	And user_name like '%#{
    
    userName}%'
        </if>
        <if test="userFullName!=null and userFullName.trim()!=''">
        	AND user_full_name like '%#{
    
    userFullName}%'
        </if>
        <if test='userTelephone!=null and userTelephone.trim()!=""'>
        	AND user_telephone like '%#{
    
    userTelephone}%'
        </if>
        <if test="userEmail!=null and userEmail.trim()!=''">
        	AND user_email like '%#{
    
    userEmail}%'
        </if>
        </where> 

导致的结果,会少查询一条数据

select * from mybook.user where id not in (

SELECT id FROM mybook.user where user_name like '%test%' AND user_full_name like '%%'  AND user_telephone like '%%' AND user_email like '%%' 
) and id in (

SELECT id FROM mybook.user where user_name like '%test%' 
)

在这里插入图片描述

No setter found for the keyProperty ‘menu_id’

<insert id="insertMenu" 
useGeneratedKeys="true" 
keyProperty="menu_id" 
parameterType="com.book.erp.entity.menu.Menu">
数据库定义了自动增长的ID
<insert id="insertMenu" 
useGeneratedKeys="true" 
parameterType="com.book.erp.entity.menu.Menu">
数据库没有定义自动增长的ID
<insert id="registerReader" 
parameterType="com.book.erp.entity.menu.Menu" 
useGeneratedKeys=true 
keyProperty="menuId" 
keyColumn="menu_id">
    

猜你喜欢

转载自blog.csdn.net/MyFreeIT/article/details/131834909