我的java编程之易混易错

本文探讨了Java编程中日期处理的特殊性,年月日的索引起点不同,并对比了MySQL ResultSet、JDBC参数设置及Hibernate参数设置时索引起点的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(1). java编程的日期,年月日,月竟然从0开始算起,年和日从1开始算
(2). mysql ResultSet rs rs.getInt(1);<==>rs.getInt(“id”); 下标从1开始;jdbc中select * from user where id=? ; ps.setString(1,12); 设置参数同样是从下标1开始的

(3). 但是hibernate设置设置参数 listQuery.setParameter(i,parameters.get(i));从下标0 开始

比较一下


hibernate  设置参数
Query listQuery = getSession().createQuery(hql); // 创建查询对象
        if (parameters != null) { // 设置参数
            for (int i = 0; i < parameters.size(); i++) {
                listQuery.setParameter(i, parameters.get(i));
            }
        }

JDBC中ps.setObject(parameterIndex, x);//parameterIndex从下标1开始
如:

ps = ct.prepareStatement("insert into orders (userId,payMode,isPayed,totalPrice) values(?,?,?,?)");

ps.setLong(1, userId);
ps.setString(2, "货到付款");
ps.setInt(3, 0);// 0  表示未付款
ps.setFloat(4, myCart.getTotal()); 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值