public void jdbcDemo(){
Connection connection = null;
PreparedStatement preparedStatement = null;
ResultSet rs = null;
try {
// 1、加载驱动及获取数据库连接
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection("jdbc:mysql://xxx.xxx.xxx.xx:3306/xxxxxxxx", "xxx", "xxx");
// 2、设置参数及查询
String sql = "select * from user where id = ? and username = ?";
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setObject(1,1);
preparedStatement.setObject(2,"jack");
rs = preparedStatement.executeQuery();
// 3、返回值处理
while(rs.next()){
String address = rs.getString("address");
System.out.println("---" + address);
}
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}finally {
if(connection != null){
try {
connection.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if(preparedStatement != null){
try {
preparedStatement.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if(rs != null){
try {
rs.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
}
JDBC存在的问题:1、数据库信息采用硬编码方式
2、sql 信息(sql语句、参数、返回值)采用硬编码方式
3、遍历结果集时,存在硬编码,将获取表的字段进行硬编码