一、jdbc基础
1.连接参数关闭顺序:倒关
/**
* 关闭资源
* 倒关
*/
rs.close();
statement.close();
conn.close(); //这个必须关
2.jdbc连接时的规范化处理
@Test
public void fun1() throws SQLException {
//先初始化
Connection conn=null;
Statement statement=null;
ResultSet rs=null;
try{
String className="com.mysql.cj.jdbc.Driver";
String uri="jdbc:mysql://localhost:3306/javaweb?serverTimezone=GMT%2B8&useSSL=true";
String username="root";
String password="123456";
Class.forName(className);
conn= DriverManager.getConnection(uri,username,password);
statement=conn.createStatement();
String sql="select * from stu";
rs=statement.executeQuery(sql);
ResultSetMetaData metaData=rs.getMetaData();
int count=metaData.getColumnCount();
while(rs.next()){
for(int i=1;i<=count;i++){
System.out.print(rs.getString(i));
if(i<count)
System.out.print(",");
}
System.out.println();
}
}catch (Exception e){
throw new RuntimeException(e);
}finally {
//一定执行,若不为null,则需要关闭
if(rs!=null)
rs.close();
if(statement!=null)
statement.close();
if(conn!=null)
conn.close();
}
}
3.获取结果集元数据
得到元数据:rs.getMetaData(),返回值为ResultSetMetaData
获取结果集列数:int getColumnCount()
获取指定列的列名:String getColumnName(int colindex)
4.PreparedStatement:Statement的子接口
防SQL攻击ÿ