jdbc是什么
jdbc是访问关系型数据库的java API
java database connectivity java数据库连接
jdbc作用
jdbc是给java程序员提供了访问和操作众多关系数据库的一个统一接口。这样我们就可以不用管各数据库公司不同的标准,而只学java官方提供的标准。
jdbc 开发程序步骤
先将jdbc的架包放在项目下根下的lib文件夹中
第一步:加载驱动程序
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
Driver 这个类里面有静态代码块,一上来就执行了,所以等同于我们注册了两次驱动。 其实没这个必要的。
静态代码块 —> 类加载了,就执行。 java.sql.DriverManager.registerDriver(new Driver());
Class.forName(JDBCDriverClass);//"com.mysql.jdbc.Driver"
第二步,建立连接
这里因为我们 不能直接new一个Connection链接,所以我们要使用到一个方法 从DriverManager类中的静态方法getConnection(databaseURL)
这里我们应该想到数据库可能是一个单例对象模式
Connection connection = DriverManager.getConnection("jdbc:mysql://hostname/dbname","scott","tiger");
//scott是用户 tiger是密码
第三步、创建语句
我们建立数据库连接是为了执行语句,所以必须先要创建语句 注册的驱动相当于管道,Connection相当于要到了通行证,最后就是需要用Statement把语句装起来运送。
如何创建一个车
Statement statement = connection。createStatement();
第四步、执行语句 我们用到的是executeUpdate(String sql) 来执行sql的ddl数据定义语言或者更新语句,用executeQuery(String sql) 来执行Sql的查询语句,并返回ResultSet
更新 例如
statement.executeUodate("create table Temp(coll char(5),col2 char(5))");
查询
ResultSet resultSet = statement.executeQuery(sql_String);
第五步、处理结果集ResultSet
ResultSet 返回当前行的结果 而使用next可以移动到下一行 使用getter方法可以得到各种值
while(resultSet.next()){
String name = resultSet.getString("name");
.......
第六步、释放资源
这些底层都是用io写的,那就需要释放资源
try {
if(resultSet != null){
resultSet .close();
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
resultSet = null;
}
//当然还有connection 和statement