Mybatis junit测试时报: parameter *** not found.available 错误处理
来源:互联网 发布:微信淘宝客封号 编辑:程序博客网 时间:2024/06/11 16:22
异常已经贴出来了;
实体类:
package com.model;
public class Person {
private Integer pid;
private String pname;
private String psex;
private String ppass;
public Integer getPid() {
return pid;
}
/* public void setPid(Integer pid) {
this.pid = pid;
}*/
public String getPname() {
return pname;
}
public void setPname(String pname) {
this.pname = pname == null ? null : pname.trim();
}
public String getPsex() {
return psex;
}
public void setPsex(String psex) {
this.psex = psex == null ? null : psex.trim();
}
public String getPpass() {
return ppass;
}
public void setPpass(String ppass) {
this.ppass = ppass == null ? null : ppass.trim();
}
public Person(String pname, String psex, String ppass) {
super();
this.pname = pname;
this.psex = psex;
this.ppass = ppass;
}
public Person() {
super();
System.out.println("Person.Person()0000000000");
}
public Person(String pname, String ppass) {
super();
System.out.println("Person.Person()111111111");
this.pname = pname;
this.ppass = ppass;
}
public Person(String pname) {
super();
System.out.println("Person.Person()2222222222222222");
this.pname = pname;
}
######################################
dao:
package com.dao;
import com.model.Person;
public interface PersonMapper {
int deleteByPrimaryKey(Integer pid);
int insert(Person record);
int insertSelective(Person record);
Person selectByPrimaryKey(Integer pid);
/*Person selectByNameAndPass(Person person) ;*/
int updateByPrimaryKeySelective(Person record);
int updateByPrimaryKey(Person record);
Person selectByNameAndPass(String pname,String ppass) ;
}
#####################################################
service:
package com.service;
import com.model.Person;
public interface PersonService {
Person getPersonByPrimaryKey(int id) ;
Person getPersonBynameAndPass(String name,String pass) ;
void savePerson(Person person) ;
}
############################################
serviceImpl
public Person getPersonBynameAndPass(String name, String pass) {
// TODO Auto-generated method stub
return personMapper.selectByNameAndPass(name,pass);
}
###################################
sql.xml
<select id = "selectByNameAndPass" resultMap="BaseResultMap" parameterType="java.lang.String" >
select
<include refid="Base_Column_List" />
from person
where pname = #{pname,jdbcType=VARCHAR} and ppass = #{ppass,jdbcType=VARCHAR}
</select>
###########################################
junit 测试类:
@Test
public void test1(){
person = personService.getPersonBynameAndPass("张三", "123456") ;
System.out.println("bbbbbbb");
System.out.println(person.getPname());
logger.info(JSON.toJSONString(person));
}
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
解答:因为mybatis的sql中的parameterType只能有一个,而如果用密码和name来查找的话肯定要传两个参数,所以这个时候就要封装,将两个封装到一个里面
将dao service 以及impl 和sql.xml修改之后就能运行成功了,成功的代码如下:
dao:
Person selectByNameAndPass(Person person) ;
sql.xml
<select id = "selectByNameAndPass" resultMap="BaseResultMap" parameterType="com.model.Person" >
select
<include refid="Base_Column_List" />
from person
where pname = #{pname,jdbcType=VARCHAR} and ppass = #{ppass,jdbcType=VARCHAR}
</select>
service
Person getPersonBynameAndPass(String name,String pass) ;
impl
@Override
public Person getPersonBynameAndPass(String name, String pass) {
// TODO Auto-generated method stub
Person person = new Person();
person.setPname(name);
person.setPpass(pass);
return personMapper.selectByNameAndPass(person);
}
最后说一下建表:就是主键id自增
name varchar(20)
sex varchar(2)
pass varchar(50)
- Mybatis junit测试时报: parameter *** not found.available 错误处理
- Mybatis错误:Parameter 'XXX' not found. Available parameters are [1, 0, param1, param2]
- Mybatis错误:Parameter 'XXX' not found. Available parameters are [1, 0, param1, param2]
- Mybatis错误:Parameter 'XXX' not found. Available parameters are [1, 0, param1, param2]
- Mybatis错误:Parameter 'XXX' not found. Available parameters are [1, 0, param1, param2]
- MyBatis:Parameter 'xxx' not found. Available parameters are [1, 0, param1, param2]错误
- Mybatis错误:Parameter 'XXX' not found. Available parameters are [1, 0, param1, param2]
- mybatis错误: Parameter 'XXX' not found. Available parameters are [0, 1,2, param5, param2]
- Mybatis错误:Parameter 'XXX' not found. Available parameters are [1, 0, param1, param2]
- 关于mybatis批量保存 Parameter '__frch_item_0' not found. Available parameters are [list]的错误
- Mybatis错误:Parameter 'XXX' not found. Available parameters are [1, 0, param1, param2]
- mybatis批量插入函数报“Parameter '__frch_item_0' not found. Available parameters are [list]”错误
- MyBatis:Parameter 'xxx' not found. Available parameters are [1, 0, param1, param2]错误
- mybatis. Parameter 'xxxList' not found. Available parameters are [c
- Parameter '__frch_item_0' not found. Available parameters are [list]错误
- MyBatis报Parameter not found的Exception 处理
- Mybatis异常 Parameter "..." not found
- Mybatis出现Parameter not found
- zigbee协议解析:地址分配机制
- 并查集模板
- Python基础--人们一些最爱的标准库(random time)
- 屏幕适配问题1
- leetcode62.[DP] Unique Paths
- Mybatis junit测试时报: parameter *** not found.available 错误处理
- weblogic安装与配置
- TabControl控件和TabPage
- C# 选择文件 和 选择文件夹 对话框
- 屏幕适配问题2
- 《Objective-C 2.0程序设计》第2章练习
- hdu1205吃糖果(鸽巢原理)
- Android加载网页输入框无法弹出输入法
- windows下安装requests