MyBatis中如何不使用@Param注解传递多个参数实现复杂查询?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1170个文字,预计阅读时间需要5分钟。
背景:我们需要将一个伪原创的开头内容进行简化改写,确保内容不超过100字,并且不使用数字。
改写内容:为了保存一只小狗的信息到数据库,我们通常采用MyBatis框架的接口和XML配置。接口定义如下:`public interface DogDao { void save(@Param(dogName) String dogName); }`
背景
假设我们要保存一个小狗的信息到数据库中
通常的做法
我们在使用mybatis 接口和xml对应的时候,常常是这样写的:
接口
public interface DogDao { void save(@Param("dogName") String dogName, @Param("age")int age); }
xml
<insert id="save"> INSERT INTO dog values (null, #{dogName}, #{age}); </insert>
因为mybatis在执行的之后动态生成实现类,而在java中使用反射会将方法中的参数名称擦除,所以如果在xml中要接收到规定参数名称的参数,通过注解标识是简单又可行的方法,一方面可以自定义方法参数的绑定,另外一方面在xml中也可以起有意义的名称与@Param中的value对应。
本文共计1170个文字,预计阅读时间需要5分钟。
背景:我们需要将一个伪原创的开头内容进行简化改写,确保内容不超过100字,并且不使用数字。
改写内容:为了保存一只小狗的信息到数据库,我们通常采用MyBatis框架的接口和XML配置。接口定义如下:`public interface DogDao { void save(@Param(dogName) String dogName); }`
背景
假设我们要保存一个小狗的信息到数据库中
通常的做法
我们在使用mybatis 接口和xml对应的时候,常常是这样写的:
接口
public interface DogDao { void save(@Param("dogName") String dogName, @Param("age")int age); }
xml
<insert id="save"> INSERT INTO dog values (null, #{dogName}, #{age}); </insert>
因为mybatis在执行的之后动态生成实现类,而在java中使用反射会将方法中的参数名称擦除,所以如果在xml中要接收到规定参数名称的参数,通过注解标识是简单又可行的方法,一方面可以自定义方法参数的绑定,另外一方面在xml中也可以起有意义的名称与@Param中的value对应。

