记录MyBatis中的一个骚操作

2019-06-10  本文已影响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执行时传入的入参

上一篇下一篇

猜你喜欢

热点阅读