数据库的rs.getInt(1)是什么意思??
ResultSet rs = null;
rs = st.executeQuery(sql);
rs:数据集。
rs.getInt(int index);
rs.getInt(String columName);
你可以通过索引或者列名来获得查询结果集中的某一列的值。
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;
}
比如:
现有表User:列有id,name.
String sql="select * from User";
ResultSet rs = null;
rs = st.executeQuery(sql);
while(rs.next){
rs.getInt(1)//等价于rs.getInt("id");
rs.getString(2)//等价于rs.getString("name");
}
rs是从数据库里找到的结果集
rs.getInt(1)表示,从这个结果集的第一行第一列里拿值,这个值应该是个数值类型的所以用int来取,就是getInt()方法.
rs.next()就移动到第二行了,可以继续取值.