Error setting null parameter. Most JDBC drivers require that the JdbcType must b

异常类型:Error setting null parameter. Most JDBC drivers require that the JdbcType must be specified for all nullable parameters

.<insert id="insertTransactionLog" parameterType="transactionLog">
insert into "transactionLog"
values
(transactionLog_Sequence.nextval,
#{user.id,jdbcType=NUMERIC},
#{staff.id,jdbcType=NUMERIC},
#{inputCard},
#{outputCard},
#{date},
#{money},
#{type.id,jdbcType=NUMERIC},
#{profit},
#{status},
#{remark})
</insert>
异常类型:Error setting null parameter. Most JDBC drivers require that the JdbcType must be specified for all nullable parameters
原因:MyBatis 插入空值时,需要指定jdbcType 。在pl/sql不会提示错误,主要原因是mybatis无法进行转换

2.分页查询
select
a."id",
a."user" as "user.id",
a."staff" as "staff.id",
a."inputCard",
a."outputCard",
a."date",
a."money",
a."type" as "type.id",
a."profit",
a."status",
a."remark"
from "transactionLog" a where a."staff"=#{staffId} and a."id" not in(select "id" from "transactionLog" where ROWNUM &lt;= (${logs.page}-1)*${logs.evcnt} and "staff"=#{staffId} ) and ROWNUM &lt;=${logs.evcnt}
注意:在子查询中同样要将主查询条件写入其中:a."staff"=#{staffId},这个问题很容易忽略,切记切记啊!

猜你喜欢

转载自heiguagu.iteye.com/blog/1759787