使用iBatis框架问题,使用varchar类型的数据就无法进行查询,而number就可以,不知道为啥。求大神解答!!!附上代码:
carman.xml<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="CarManger">
<resultMap id="result" class="com.estock.database.carmanger.CarManEO">
<result property="carId" column="CAR_ID"/>
<result property="carName" column="CAR_NAME"/>
<result property="carPail" column="CAR_PAIL"/>
<result property="carPaiz" column="CAR_PAIZ"/>
<result property="carOil" column="CAR_OIL"/>
</resultMap>
<resultMap id="resultTO" class="com.estock.database.carmanger.CarManTO" extends="result">
<result property="useUserId" column="USE_USER_ID"/>
<result property="useBtime" column="USE_BTIME"/>
<result property="useEtime" column="USE_ETIME"/>
</resultMap>
<select id="CarManger.selectCarByUser" parameterClass="java.util.Map" resultMap="resultTO">
select *
from ms_car mc,
ms_use mu
where mc.car_id = mu.use_car_id
<isNotNull prepend="and" property="carId">
mc.car_id = #carId:VARCHAR#
</isNotNull>
<isNotNull prepend="and" property="useEtime">
mu.use_etime = #useEtime:VARCHAR#
</isNotNull>
<isNotNull prepend="and" property="carPail">
mc.car_pail=#carPail:VARCHAR#
</isNotNull>
</select>
<select id="carmanger.all" resultMap="resultTO">
select * from ms_car mcar,ms_use muse
where mcar.car_id = muse.use_car_id
</select></sqlMap>carmandao
package com.estock.database.carmanger;import java.util.List;public interface CarManDAO {
public List<CarManTO> selectCarByUser(String carId,String useEtime,String carPail);
public List selectCarByUserSelf(String KeyType,String KeyValue,String Btime,String Pail,String UserId);
public List selectAll();}
carmandaoimpl
package com.estock.database.carmanger;import java.util.HashMap;
import java.util.List;
import java.util.Map;import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;public class CarManDAOImpl extends SqlMapClientDaoSupport implements CarManDAO { public List<CarManTO> selectCarByUser(String carId,String useEtime,String carPail) {
Map<String,Object> param=new HashMap<String,Object>();
param.put("carId",carId);
System.out.println(carId);
param.put("useEtime",useEtime);
param.put("carPail",carPail);
return getSqlMapClientTemplate().queryForList("CarManger.selectCarByUser",param);
} public List selectCarByUserSelf(String KeyType, String KeyValue,
String Btime, String Pail, String UserId) {
Map<String,Object> param=new HashMap<String,Object>();
param.put("KeyType", KeyType);
param.put("KeyValue", KeyValue);
param.put("Btime", Btime);
param.put("Pail", Pail);
param.put("UserId", UserId);
return getSqlMapClientTemplate().queryForList("carmanger.selectCarByUserSelf");
} public List selectAll() {
return getSqlMapClientTemplate().queryForList("carmanger.all");
}}速来大神啊~~
carman.xml<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="CarManger">
<resultMap id="result" class="com.estock.database.carmanger.CarManEO">
<result property="carId" column="CAR_ID"/>
<result property="carName" column="CAR_NAME"/>
<result property="carPail" column="CAR_PAIL"/>
<result property="carPaiz" column="CAR_PAIZ"/>
<result property="carOil" column="CAR_OIL"/>
</resultMap>
<resultMap id="resultTO" class="com.estock.database.carmanger.CarManTO" extends="result">
<result property="useUserId" column="USE_USER_ID"/>
<result property="useBtime" column="USE_BTIME"/>
<result property="useEtime" column="USE_ETIME"/>
</resultMap>
<select id="CarManger.selectCarByUser" parameterClass="java.util.Map" resultMap="resultTO">
select *
from ms_car mc,
ms_use mu
where mc.car_id = mu.use_car_id
<isNotNull prepend="and" property="carId">
mc.car_id = #carId:VARCHAR#
</isNotNull>
<isNotNull prepend="and" property="useEtime">
mu.use_etime = #useEtime:VARCHAR#
</isNotNull>
<isNotNull prepend="and" property="carPail">
mc.car_pail=#carPail:VARCHAR#
</isNotNull>
</select>
<select id="carmanger.all" resultMap="resultTO">
select * from ms_car mcar,ms_use muse
where mcar.car_id = muse.use_car_id
</select></sqlMap>carmandao
package com.estock.database.carmanger;import java.util.List;public interface CarManDAO {
public List<CarManTO> selectCarByUser(String carId,String useEtime,String carPail);
public List selectCarByUserSelf(String KeyType,String KeyValue,String Btime,String Pail,String UserId);
public List selectAll();}
carmandaoimpl
package com.estock.database.carmanger;import java.util.HashMap;
import java.util.List;
import java.util.Map;import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;public class CarManDAOImpl extends SqlMapClientDaoSupport implements CarManDAO { public List<CarManTO> selectCarByUser(String carId,String useEtime,String carPail) {
Map<String,Object> param=new HashMap<String,Object>();
param.put("carId",carId);
System.out.println(carId);
param.put("useEtime",useEtime);
param.put("carPail",carPail);
return getSqlMapClientTemplate().queryForList("CarManger.selectCarByUser",param);
} public List selectCarByUserSelf(String KeyType, String KeyValue,
String Btime, String Pail, String UserId) {
Map<String,Object> param=new HashMap<String,Object>();
param.put("KeyType", KeyType);
param.put("KeyValue", KeyValue);
param.put("Btime", Btime);
param.put("Pail", Pail);
param.put("UserId", UserId);
return getSqlMapClientTemplate().queryForList("carmanger.selectCarByUserSelf");
} public List selectAll() {
return getSqlMapClientTemplate().queryForList("carmanger.all");
}}速来大神啊~~
(
CAR_ID CHAR(10) not null,
CAR_NAME CHAR(50),
CAR_PAIL CHAR(50),
CAR_PAIZ CHAR(50),
CAR_OIL CHAR(50)
)
param.put("carId",carId);
System.out.println(carId);
这段里打印出来是有数据的。
表是char,配置文件又是
<isNotNull prepend="and" property="carId">
mc.car_id = #carId:VARCHAR#
</isNotNull>真的……