mybatis多参数传入问题

 

 

  当被调用时, 从日志打印如下:

 

  

select a.id,d.language_content as menu_name,a.url,a.module_id,a.isactive,a.createDate,a.updateDate,a.bak1,a.bak2,a.bak3,a.parent_id,a.type,a.orderNum,b.id module_id, b.module_name, b.remark module_remark, b.createdate module_createdate, b.updatedate module_updatedate,c.id parent_id, c.menu_name parent_name, c.url parent_url, c.isactive parent_isactive, c.createdate parent_createdate, c.updatedate parent_, 
       		   c.bak1 parent_bak1, c.bak2 parent_bak2, c.bak3 parent_bak3, c.parent_id 
          from sys_menu a left join sys_module b on a.module_id=b.id  left join sys_menu c on a.parent_id=c.id,sys_language_content d
 		 where a.parent_id = NULL
 		   and a.menu_name = d.language_key
 		   and d.locale = NULL
 		 order by a.orderNum asc;  (0 milliseconds)

 

   当我去掉一个参数,如下:

  

package com.demo.sys.mapper;

import java.util.List;

import com.demo.sys.entity.Menu;

public interface MenuMapper {
	
	
	public List<Menu> queryRootMenu(String locale);
	
	public List<Menu> queryChildMenuByRoot(String locale);
	
	public Menu queryMenu(Menu menu);
	
	public int addMenu(Menu menu);
}

 

	<select id="queryChildMenuByRoot" resultMap="menuMap">
		select a.id,d.language_content as menu_name,a.url,a.module_id,a.isactive,a.createDate,a.updateDate,a.bak1,a.bak2,a.bak3,a.parent_id,a.type,a.orderNum,b.id module_id, b.module_name, b.remark module_remark, b.createdate module_createdate, b.updatedate module_updatedate,c.id parent_id, c.menu_name parent_name, c.url parent_url, c.isactive parent_isactive, c.createdate parent_createdate, c.updatedate parent_, 
       		   c.bak1 parent_bak1, c.bak2 parent_bak2, c.bak3 parent_bak3, c.parent_id 
          from sys_menu a left join sys_module b on a.module_id=b.id  left join sys_menu c on a.parent_id=c.id,sys_language_content d
 		 where a.parent_id = 1
 		   and a.menu_name = d.language_key
 		   and d.locale = #{locale}
 		 order by a.orderNum asc
	</select>

 

当调用时候,控制台打印如下:

select a.id,d.language_content as menu_name,a.url,a.module_id,a.isactive,a.createDate,a.updateDate,a.bak1,a.bak2,a.bak3,a.parent_id,a.type,a.orderNum,b.id module_id, b.module_name, b.remark module_remark, b.createdate module_createdate, b.updatedate module_updatedate,c.id parent_id, c.menu_name parent_name, c.url parent_url, c.isactive parent_isactive, c.createdate parent_createdate, c.updatedate parent_, 
       		   c.bak1 parent_bak1, c.bak2 parent_bak2, c.bak3 parent_bak3, c.parent_id 
          from sys_menu a left join sys_module b on a.module_id=b.id  left join sys_menu c on a.parent_id=c.id,sys_language_content d
 		 where a.parent_id = 1
 		   and a.menu_name = d.language_key
 		   and d.locale = 'zh_CN'
 		 order by a.orderNum asc;  (0 milliseconds)

 

  

   从上面得出结论:Mybatis不支持多个参数输入,从文档及相关资料,要实现发现Mybatis多个参数输入必须为实体对象或者为HashMap类型。

 

   一旦涉及多参数总是要把参数压入到对象或者HashMap中,太麻烦了。

 

   这种使用方法真的不方便。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值