那么为什么要使用JDBC,一个应用程序如果不和数据库进行连接,那这根本就不算是个应用程序,那么应用程序是不能直接对数据库进行操作的,那么就需要一个辅助工具去连接数据库,从而操作数据库...那这个辅助的工具就是JDBC了,这个仅限于JAVA应用程序...其实总体的规模就是这样:
应用程序——>JDBC——>(mysql driver——>mysql)
JDBC——>(oracle driver——>oracle)
步骤如下:
i.首先注册驱动:Class.forName("com.mysql.Driver");//这种方式是最好的,不会对具体驱动产生依赖... DriverManager.registerDriver(com.mysql.jdbc.Driver);//会产生两个相同的驱动,并会对具体驱动产生依赖... System.setProperty("jdbc.drivers","driver1:driver2");//基本不常用,所以可以不用记,一般就使用第一种就行了..一般用第一种就可以了;
Connection conn = DriverManager.getConnection(url, user, password);
Connection 是与特定数据库的连接(会话)。在连接上下文中执行 SQL 语句并返回结果。
Connection
对象的数据库能够提供描述其表、所支持的 SQL 语法、存储过程、此连接功能等等的信息。此信息是使用getMetaData
方法获得的。
注:在配置 Connection
时,JDBC 应用程序应该使用适当的 Connection
方法,比如 setAutoCommit
或 setTransactionIsolation
。在有可用的 JDBC 方法时,应用程序不能直接调用 SQL 命令更改连接的配置。默认情况下,Connection
对象处于自动提交模式下,这意味着它在执行每个语句后都会自动提交更改。如果禁用了自动提交模式,那么要提交更改就必须显式调用 commit
方法;否则无法保存数据库更改。
Statement st = conn.createStatement();
st.executeQuery(sql);
2:PreparedStatement
String sql = "select * from table_name where col_name=?";
PreparedStatement ps = conn.preparedStatement(sql);
ps.setString(1, "col_value");
ps.executeQuery();
接口 Statement
用于执行静态 SQL 语句并返回它所生成结果的对象。
-
所有已知子接口:
CallableStatement, PreparedStatement
ResultSet rs = statement.executeQuery(sql);
While(rs.next()){
rs.getString(“col_name”);
rs.getInt(“col_name”);
}
接口 ResultSet
表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。ResultSet
对象具有指向其当前数据行的光标。最初,光标被置于第一行之前。next
方法将光标移动到下一行;因为该方法在 ResultSet
对象没有下一行时返回 false
,所以可以在 while
循环中使用它来迭代结果集。
默认的 ResultSet
对象不可更新,仅有一个向前移动的光标。因此,只能迭代它一次,并且只能按从第一行到最后一行的顺序进行。可以生成可滚动和/或可更新的 ResultSet
对象。
释放资源这是必须的,使用close()进行关闭...由于数据库的资源是非常珍贵的,因此只要我们不去使用资源的时候,一定要记得释放...
实例如下: