实体:
private Integer orders_id;
private String sendname;
private Integer sendphone;
private String sendaddress;
private Integer outstationid;
private String addresseename;
private Integer addresseephone;
private String addresseeaddress;
private Integer receivestationid;
private String goodsname;
private Integer goodswight;
private Integer goodscapacity;
private Integer goodsnumber;
private String ordersdate;
private Integer ordersstatus;
private Integer totalfee;
private Integer way_id;
private Integer user_id;
mapper:
<select id="findByPage" parameterType="com.entity.page.Page"
resultType="com.entity.Order">
select * from (
select a.*,ROWNUM r from (
select * from log_order
<where>
<if test="orders_id!=null && orders_id.length()>0">
and orders_id=#{orders_id}
</if>
<if test="ordersdate!=null && ordersdate.length()>0">
and ordersdate=#{ordersdate}
</if>
<if test='ordersstatus!=null && !ordersstatus.equals("-1")'>
and ordersstatus=#{ordersstatus}
</if>
</where>
order by orders_id
) a
) where r<#{end} and r>#{begin}
</select>
test:
public void testfindByPage() {
ApplicationContext ctx =
new ClassPathXmlApplicationContext(conf);
OrderDao dao = ctx.getBean(OrderDao.class);
Order o = dao.findOrder(100);
System.out.println(o);
}
错误:
org.springframework.jdbc.UncategorizedSQLException:
; uncategorized SQLException for SQL []; SQL state [99999]; error code [17026]; 数字溢出; nested exception is java.sql.SQLException: 数字溢出
数据库:
create table log_order
(
orders_id number(5) not null,
sendname varchar2(50),
sendphone number(11),
sendaddress varchar2(50),
outstationid number(5),
addresseename varchar2(50),
addresseephone number(12),
addresseeaddress varchar2(50),
receivestationid number(5),
goodsname varchar2(50),
goodswight number(6),
goodscapacity number(6),
goodsnumber number(2),
ordersdate date,
ordersstatus number(1),
totalfee number(6),
way_id number(5),
user_id number(5)
)
你可以逐步的减少这个实体对象的字段数。看看是哪个字段出现的问题。
用 int 去接受number了么 int 没记错的话 上界是2147483647 一共10位