mysql原生查询单条数据_原生查询数据库流程
public classUserDao{/*** 查詢所有,無條件
*@return
*/
public ListgetUsers(){//1、定義操作數據庫的sql語句
String sql = "select * from user_info";
List users = new ArrayList<>();try(//2、獲取連接
Connection connection =ConnUtils.getConnection();//3、使用PreparedStatement對象預編譯sql語句
PreparedStatement ps =connection.prepareStatement(sql);//4、定義結果集,封裝查詢的數據
ResultSet rs =ps.executeQuery()
) {//5、遍歷結果集,將結果集中的數據封裝到實體中
while(rs.next()){
Users user= newUsers();//可以通過索引獲取,從1開始//user.setUid(rs.getInt(1));//user.setUserName(rs.getString(2));//user.setAge(rs.getInt(3));//也可以通過數據庫中的字段名獲取,這樣做更精確
user.setUid(rs.getInt("u_id"));
user.setUserName(rs.getString("u_name"));//將實體添加到集合中
users.add(user);
}//6、返回集合
returnusers;
}catch(Exception e) {
e.printStackTrace();throw newRuntimeException(e);
}
}/*** 根據id查詢出一條數據
*@paramid
*@return
*/
public Users getUserById(intid){//1、定義訪問數據庫的sql語句
String sql = "select * from user_info where u_id = ?";try(//2、獲取連接
Connection conn =ConnUtils.getConnection();//3、使用PreparedStatement對象預編譯sql語句
PreparedStatement ps =conn.prepareStatement(sql)) {//參數替換,填充數據,替換sql語句中的 ? 號,索引從1開始
ps.setInt(1, id);//4、定義結果集
try(ResultSet rs =ps.executeQuery()){//封裝查詢的數據
Users user = newUsers();if(rs.next()){
user.setUid(rs.getInt("u_id"));
user.setUserName(rs.getString("u_name"));
}returnuser;
}catch(SQLException e){throwe;
}
}catch(Exception e){throw newRuntimeException(e);
}
}/*** 添加一條數據
*@paramuser
*@return返回受影響的行數*/
public intaddUser(Users user){//定義訪問數據庫的sql語句
String sql = "insert into user_info values (?,?)";try(Connection connection =ConnUtils.getConnection();
PreparedStatement ps=connection.prepareStatement(sql)) {
ps.setInt(1, user.getUid());
ps.setString(2, user.getUserName());returnps.executeUpdate();
}catch(Exception e) {
e.printStackTrace();throw newRuntimeException(e);
}
}
}
總結
以上是生活随笔為你收集整理的mysql原生查询单条数据_原生查询数据库流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python三元运算符怎么使用_Pyth
- 下一篇: linux cmake编译源码,linu