/** * 将用户信息插入数据库 * @param uv * @return */ public int insertUser(UserVo uv){ int userId = 0; initDb(); **初始化连接数据库的方法 PreparedStatement pst=null; ResultSet rs=null; try { String sql="INSERT INTO usertable (user_name,user_password,user_sex,province_id,city_id,user_describe) VALUES (?,?,?,?,?,?)"; pst=con.prepareStatement(sql); pst.setString(1, uv.getUserName()); pst.setString(2, uv.getUserPassword()); pst.setString(3, uv.getUserSex()); pst.setInt(4, uv.getProvinceId()); pst.setInt(5, uv.getCityId()); pst.setString(6, uv.getUserDescribe()); pst.executeUpdate(); rs = pst.getGeneratedKeys();//获取自增长的列的新值 while(rs.next()){ userId=rs.getInt(1); } } catch (SQLException e) { try { con.rollback(); } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } // TODO Auto-generated catch block e.printStackTrace(); } finally{ try { pst.close(); con.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return userId; }
着重讲解一下preparestatement的部分,有点看不懂