Java开发常见错误:org.mybatis.spring.MyBatisSystemException
2016-03-03 20:09
711 查看
org.apache.ibatis.binding.BindingException: Parameter 'username' not found. Available parameters are [param1, tag]
《===================================解决方案一======================================》
传递的参数为Map类型
一直对Map类型作为参数不是很熟悉,后来定位到Map参数取值问题。
原因是:Dao接口里面使用了@Param 而参数为Map时,去参数应该是#{paraMap.email}
public List<Book> getBooksUnderEmailAndTag(@Param(value="tag")Map<String,String> paraMap);《===================================解决方案二=======================================》
一般出项这种情况,都是有关联对象,而且想一次性添加或者修改。可以使用分离对象添加或修改。
比如User和Department对象。User中有dep_id.这样我们可以先通过depId查出dep的name。先设置user的部门为dep.
然后再添加User对象。想这样的逻辑处理可以放到service层。。
UserService中。
public void update(User user,int depId) { Department dep=departmentDao.load(depId); user.setDepartment(dep); //设置部门 this.userDao.update(user); //添加User对象。 }
至于SQL不用改变,一次性写好。
insert into t_user(username,password,nickname,dep_id) value(#{username},#{password},#{nickname},#{department.id});
相关文章推荐
- java设计模式——创建型之工厂三兄弟(1)
- java web目录层次
- Java对象的多态性
- 自学 java 笔记 day6(面向对象2)
- struts实现文件上传和下载
- Java上传文件夹(Jersey)
- Java 集合框架
- Java获取、删除文件和目录
- gradle多渠道打包及友盟统计-eclipse版本
- Spark , JAVA_HOME is not set
- Java保留小数点后数字位数
- Java基础之标识符与关键字
- java非,或与和三种移位运算
- <WebLogicServer> <BEA-000386> <Server subsystem failed. Reason: java.lang.NullPointerException
- myeclipse中使用weblogic
- java的Switch用法简介
- Java集合
- Leetcode:101. Symmetric Tree(JAVA)
- leetcode:First Missing Positive 【Java】
- Eclipse中jsp、js文件编辑时,卡死现象解决汇总