小弟使用Mybatis从数据库中取值。问题是:数据库中明明有值,取出来装配时,却是空的,何解???具体Mabatis的SQL写法是:
<select id="queryRelaTransitionBoDel" parameterType="Long" resultType="Long">
select bo1.ORDER_ITEM_ID BO_ID
from ORDER_ITEM bo1,
oo_rela oor,
order_item oo2
where oo2.ORDER_ITEM_ID = #{orderItemIdRepealed,jdbcType=DECIMAL}
and oo2.state ='ADD'
and bo1.order_item_obj_inst_id = oo2.order_item_obj_inst_id
and bo1.state = 'DEL'
and bo1.status_cd not in ('301200','400001','401700','101104')
and oo2.status_cd not in ('301200','400001','401700','101104')
and bo1.ORDER_ITEM_ID = oor.ORDER_ITEM_ID
and bo1.order_item_obj_inst_id = oor.PROD_OFFER_INST_ID
and oor.state = 'DEL'
and oor.rela_type_cd = 100004
and not exists
(select 1
from atom_action a1
where a1.atom_action_id = oor.atom_action_id
and a1.status_cd ='101104')
and rownum < 2
</select>上面的语句,在PL/SQL中将入参配好,执行是有值的,可是返回JAVA程序后,却是空的,不懂为什么啊?mybatis数据库JAVA
<select id="queryRelaTransitionBoDel" parameterType="Long" resultType="Long">
select bo1.ORDER_ITEM_ID BO_ID
from ORDER_ITEM bo1,
oo_rela oor,
order_item oo2
where oo2.ORDER_ITEM_ID = #{orderItemIdRepealed,jdbcType=DECIMAL}
and oo2.state ='ADD'
and bo1.order_item_obj_inst_id = oo2.order_item_obj_inst_id
and bo1.state = 'DEL'
and bo1.status_cd not in ('301200','400001','401700','101104')
and oo2.status_cd not in ('301200','400001','401700','101104')
and bo1.ORDER_ITEM_ID = oor.ORDER_ITEM_ID
and bo1.order_item_obj_inst_id = oor.PROD_OFFER_INST_ID
and oor.state = 'DEL'
and oor.rela_type_cd = 100004
and not exists
(select 1
from atom_action a1
where a1.atom_action_id = oor.atom_action_id
and a1.status_cd ='101104')
and rownum < 2
</select>上面的语句,在PL/SQL中将入参配好,执行是有值的,可是返回JAVA程序后,却是空的,不懂为什么啊?mybatis数据库JAVA
解决方案 »
- java怎么判断是pc浏览器还是手机浏览器啊?
- 请教个sso 跳转页面问题
- HTTP Status 500 - zhanghao is not mapped [from zhanghao where ygh=? and mm=?]
- Hibernate单表映射?
- 上传类型限制一定要继承 extends ActionSupport
- 经典数学算法
- 一个java程序员怎样才能快速成长?
- 急!!!Remote Back-up System Using Web Services
- cmp覆盖了字段的缺省值
- 为什么总报ClassNotFoundException???急~~~
- 关于字符编码问题
- 跪求大神,java调用C#WebService中文乱码?
DEBUG过了,参数确实是传进去了
不是返回List的,我这个做了限制and rownum < 2,仅有一值。而且数据库中,我造的数据,确实执行就一个值
2013-09-02 10:35:00.744 [http-8001-1] DEBUG java.sql.PreparedStatement [28] -
==> Parameters: 122222222225(Long)以上是DEBUG信息,可以看到==> Parameters: 122222222225(Long),确实是传了值进去的
parameterType="Long" 是指定入参的JAVA类型
#{orderItemIdRepealed,jdbcType=DECIMAL} 是数据库的字段类型
因为上面的JAVA代码做了一个update,因此其中的status_cd已经不符合。理解错了spring的事务性。
因为spring的事务性是存在缓存的。