pstm.setInt(1, id);干什么用的

1就是sql的第一个参数的意思,
pstm.setint(1,id); 就是把id替代sql的第一个问号

这是 预编译接口 预编译的 意思就是,先把 SQL 语句编译了,再执行
? 号 代表占位符, 有一个?号, 编译的时候就知道这里有一个位置, 需要放一个数据进来
有两个, 就要放两个数据,
1,2 这两个数就是占位符的编号, 从1 开始的,
对占位符的赋值 必须在 ps.executequery(); 之前

 

public Goods findGoodsById(int id) {
		Goods goods = new Goods();
		try {
			conn = JDBCUtils.getConn();//得到连接数据库对象Connection对象conn
			String sql = "select * from goods where id=?";//插入数据的sql语句
			pstm =conn.prepareStatement(sql);//得到执行者PreparedStatement 对象
			pstm.setInt(1, id);//设置第一个参数值向sql语句中的第一个占位处赋值(就是第一个 ?)pstm.setString(2, u.getUsername());//向sql语句中的第二个占位处赋值(就是第二个 ?)
			rs = pstm.executeQuery();//执行sql语句
			if (rs.next()) {
				goods.setId(rs.getInt("id"));
				goods.setName(rs.getString("name"));
				goods.setPrice(rs.getFloat("price"));
				goods.setNum(rs.getInt("num"));
			}
		} catch (Exception e) {
			e.printStackTrace();
		}finally {
			JDBCUtils.close(rs, stm, conn);
		}
		return goods;
	}

 

 

  • 17
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值