今天看了点ibatis的jdbcType的使用,虽然以前看见文档上有这么个东西,但是还真没用过。
这里面说到了jdbcType的使用场合,只有当在insert,update和delete中有空字段时,需要使用jdbcType。
import java.io.IOException;
import java.io.Reader;
import java.util.HashMap;
import java.util.List;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder
public class Session {
public static HashMap<String,SqlSession> sessionMap = new HashMap<String,SqlSession>();
}
ibatis.xml(部分)
<insert id="insert1" parameterType="HashMap">
insert into TEST values(#{ID,jdbcType=NUMERIC}, #{VALUE,jdbcType=VARCHAR})
</insert>
<insert id="insert2" parameterType="HashMap">
insert into TEST values(#{ID}, #{VALUE})
</insert>
字段ID和VALUE都是可为空的。
JDBC requires that the JdbcType must be specified for all nullable parameters.
就是说需要为所有的空属性设置jdbcTpye值,以便jdbc解析。
注:ibatis版本:3.0.0.216