方法一:
直接以对象的整体的形式去传入到xml文件中,当然这时候用过满足的条件是:你所想传入的所有的参数,应该都是包含在一个对象中的,此时可以以对象的形式去传入到xml中
如下图示例
实体类
private String id; private String companyName; private String managerName; private String phone; private String address; private String type;
#ProviderDao.java文件 传入的是一个对象
public List<Provider> getProvidersFactors(Provider provider);
xml映射文件 ProviderDao.xml
<select id="getProvidersFactors" parameterType="com.thinkgem.jeesite.modules.goodsmanage.entity.Provider" resultType="com.thinkgem.jeesite.modules.goodsmanage.entity.Provider"> select <include refid="providerColumns"></include> from ma_provider p <where> 1=1 <if test="id !=null and id !=''"> and p.id = #{id} </if> <if test="companyName !=null and companyName !=''"> and p.companyName = #{companyName} </if> <if test="address !=null and address !=''"> and p.address = #{address} </if> </where> </select>
方法二:
直接的传入多个参数,但是此时需要的是@Param注解的配合使用(但是这种方式只适合传输两个到三个参数的时候,当参数的数目过多的时候,此方法太麻烦了!!)
示例
providerDao.java文件 传入的是多个参数
public List<Provider> getProvidersFactors(@Param("id")String id ,@Param("companyName")String companyName,@Param("address ")String address );
providerDao.xml文件
<select id="getProvidersFactors" parameterType="com.thinkgem.jeesite.modules.goodsmanage.entity.Provider" resultType="com.thinkgem.jeesite.modules.goodsmanage.entity.Provider"> select <include refid="providerColumns"></include> from ma_provider p <where> 1=1 <if test="id !=null and id !=''"> and p.id = #{id} </if> <if test="companyName !=null and companyName !=''"> and p.companyName = #{companyName} </if> <if test="address !=null and address !=''"> and p.address = #{address} </if> </where> </select>