页面参数传递有关问题
页面参数传递问题
做了一个查找,同样一个方法,查找用户时
查找用户IP时,可以查找
就是不明白为什么一个传递的是integer,一个传递的是string型的,求大神解答
------解决思路----------------------
我自己的理解
类型转换 是由TypeHandler接口来控制
每个类型都有默认的TypeHandler来控制
前台传参过来都是 当做String类型
然后在mybatis转 数据库类型的时候
它应该调用了某TypeHandler,能够自动识别 转换
------解决思路----------------------
usernumber like '%'
------解决思路----------------------
#{usernumber}
------解决思路----------------------
'%'
用#号 标示 里面是数字, 用$ 标示是 字符串
------解决思路----------------------
mybatis我一般这么写like
select count(1) from t_query_log WHERE deptname like '%${value}%'
------解决思路----------------------
做了一个查找,同样一个方法,查找用户时
==> Preparing: select count(1) from t_query_log WHERE deptname like '%'||?||'%'是integer类型的,在debug的时候,参数数据传递无误。
==> Parameters: 0(Integer)
查找用户IP时,可以查找
Preparing: select * from ( select ID,USERNAME,USERNUMBER,DEPTNAME,DEPCODE,QUERYPARAM,QUERYDATE,REMOTEADDR,QUERYTYPE,QUERYRESULT from t_query_log WHERE usernumber like '%'||?||'%' order by querydate desc ) where rownum <= 10
==> Parameters: z(String)
就是不明白为什么一个传递的是integer,一个传递的是string型的,求大神解答
------解决思路----------------------
我自己的理解
类型转换 是由TypeHandler接口来控制
每个类型都有默认的TypeHandler来控制
前台传参过来都是 当做String类型
然后在mybatis转 数据库类型的时候
它应该调用了某TypeHandler,能够自动识别 转换
------解决思路----------------------
usernumber like '%'
------解决思路----------------------
#{usernumber}
------解决思路----------------------
'%'
用#号 标示 里面是数字, 用$ 标示是 字符串
------解决思路----------------------
mybatis我一般这么写like
select count(1) from t_query_log WHERE deptname like '%${value}%'
------解决思路----------------------
public HSSFWorkbook readerFromExcel(String path){
POIFSFileSystem fs = null;
HSSFWorkbook workbook = null;
File file = new File(path);
if(file.exists()){
FileInputStream fin;
try {
fin = new FileInputStream(file);
fs = new POIFSFileSystem(fin);
workbook = new HSSFWorkbook(fs);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return workbook;
}
return null;
}