MyBatis不用@Param传递多个参数的操作
背景假设我们要保存一个小狗的信息到数据库中通常的做法我们在使用mybatis 接口和xml对应的时候,常常是这样写的:因为mybatis在执行的之后动态生成实现类,而在java中使用反射会将方法中的参数名称擦除,所以如果在xml中要接收到规定参数名称的参数,通过注解标识是简单又可行的方法,一方面可以自定义方法参数的绑定,另外一方面在xml中也可以起有意义的名称与@Param中的value对应。如果不加@Param注解,也想用xml接收响应的参数由于在反射和jdk动态代理会将方法名称抹除,所以在解析参数的时候不能像上面的xml#{dogName}这样接收,会将参数的名称序列化成以下方式,param1…这种方法不建议使用,sql层表达不直观,且一旦顺序调整容易出错。
用户评论