美文网首页
记录MyBatis中的一个骚操作

记录MyBatis中的一个骚操作

作者: 也许________ | 来源:发表于2019-06-10 10:42 被阅读0次
    利用bind标签绑定方法,输出参数值

    虽然在控制台可以看到方法的入参,但是格式并不是你想要的,或者说数据太多在控制台不方便查看来排查bug,那此时这个操作就派上用场了

    自定义的工具类,包含一个静态方法,方法用意为把参数转换成json字符串(一定要用静态方法,才可以在标签中调用)
    public class MyStringUtils {
    
        public static void printParam(Object parameter) {
            System.out.println("参数值--------------" + JSON.toJSONString(parameter));
        }
    
    }
    
    在mapper.xml中的SQL块中,写入bind标签,name属性值随意,value值:类路径与静态方法名以@符号分隔,静态方法参数不要忘记写,这样才能正确调用该静态方法
    <insert id="batchInsertUser" parameterType="list">
          INSERT INTO
              USERS (USERNAME,BIRTHDAY,SEX,ADDRESS)
            VALUES
            <foreach collection="list" item="users" separator=",">
                (#{users.userName},#{users.birthday},#{users.sex},#{users.address})
            </foreach>
            <bind name="printParam" value="@com.example.demo.controller.MyStringUtils@printParam(list)"/>
        </insert>
    

    以上就是该标签的使用方法,这样就能做到在控制台查看batchInsertUser这条SQL执行时传入的入参

    相关文章

      网友评论

          本文标题:记录MyBatis中的一个骚操作

          本文链接:https://www.haomeiwen.com/subject/cemaxctx.html