1.加载驱动类
Class.forName("com.mysql.jdbc.Driver")//针对mysql数据库
2.创建数据库连接
DriverManager.getConnection(url,username,password);
getConnection有不同参数方法,这里最常用的是我列举的这种
url格式:
MYSQL_URL:Jdbc::mysql://localhost:3306/qingke
Oracle URL:Jdbc:oracle:thin:@localhost:1521:qingke
3.创建Statement
Statement(静态SQL):connection.createStatement();
PreparedStatement(动态SQL):connection.prepareStatement();
CallableStatement(数据库存储过程):connection.prepareCall();
4.执行SQL
executeQuery:返回ResultSet(),执行查询数据库的SQL语句,返回一个结果集(ResultSet)对象
executeUpdate:用于执行INSERT,UPDATE或DELETE语句以及SQL DDL语句,如CREATE TABLE和DROP TABLE
execute:用于执行返回多个结果集,多个更新计数或二者结合的语句。
5.处理结果
执行更新返回的是本次操作影响到的记录数
执行查询返回的是一个ResultSet对象
6.关闭JDBC
先关闭记录集(ResultSet)
再关闭声明(Statement)
最后关闭连接对象(Connection)
例子
public class Connect {
public static void main(String[]args){
Connection con=null;
Statement stmt=null;
ResultSet rs=null;
try {
Class.forName("com.mysql.jdbc.driver");
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/iwanbesuper?useSSL=false", "username", "password");
stmt=con.createStatement();
rs=stmt.executeQuery("select * from student");
while(rs.next()){
System.out.println(rs.getString("name"));
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}finally{
//先关闭ResultSet
try {
if(rs!=null){
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
//再关闭Statement
try {
if(stmt!=null){
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
//最后关闭Connection
try {
if(con!=null){
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
网友评论