java访问数据库的步骤如下:
加载数据库驱动
通常使用Class.forName(driverClass)来加载驱动
// 加载MySQL驱动 Class.forName("com.mysql.jdbc.Driver");
// 加载Oracle驱动 Class.forName("oracle.jdbc.driver.OracleDriver");
通过DriverManager获取数据库连接
Connection conn = DriverManager.getConnection(String url, String user, String password);
url: 数据库的url,用于定位数据库,如 jdbc:mysql://hostname:port/databasename
user: 登录数据库的用户
password:用户密码
DriverManager.getConnection()返回一个Connection对象。
通过Connection对象创建Statement对象
使用Connection对象的createStatement()方法
Statement stmt = conn.createStatement();
通过Statement对象执行SQL语句
Statement有如下方法执行SQL语句:
execute():可以执行任何SQL语句
executeQuery():只能执行查询语句
executeUpdate():主要执行DML、DDL语句
操作结果集
如果执行的是查询语句则返回一个ResultSet对象,存储查询结果。
关闭数据库资源
关闭Connection、Statement、ResultSet等资源。
示例:
数据库为MySQL。
从crashcourse数据库中的products表中查询prod_name列。
public static void main(String[] args) throws IOException, SQLException, ClassNotFoundException { // 加载MySQL驱动 Class.forName("com.mysql.jdbc.Driver"); // 获取数据库连接 Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/crashcourse", "root", "123456"); // 创建Statement对象 Statement stmt = conn.createStatement(); // 执行SQL语句,并将查询结果存入ResultSet对象中 ResultSet rs = stmt.executeQuery("select prod_name from products"); // 输出查询结果 while (rs.next()) { System.out.println(rs.getString(1)); } // 关闭资源 conn.close(); stmt.close(); rs.close(); }