JDBC六步法

 第一步:注册驱动
    方式一:DriverManager.registerDriver(new com.mysql.cj.jdbc.Driver());
    方式二:Class.forName("com.mysql.cj.jdbc.Driver");
    方式三: 连接信息与代码分离
    1) 先将url, user, password等信息写在一个后缀名为proprties的文件中,
        此文件放在resources文件夹中
        文件信息如下:
driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/MySQL?serverTimezone=GMT%2B8
user=root
password=password
    2) 资源绑定器:ResourceBundle bundle = ResourceBundle.getBundle("resources/db");
    3) 通过属性配置文件拿到信息
        String driver = bundle.getString("driver");
        String url = bundle.getSring("url");
        String user = bundle.getString("user");
        String password = bundle.getString("password");
    4) Class.forName(driver);
第二步:获取连接
    Connection conn = DriverManager.getConnection("URL地址","数据库用户","密码");
第三步:获取数据库操作对象
    Statement stmt = conn.createStatement();
第四步:执行SQL语句
    String sql = "select last_name as '姓', first_name as '名', salary from tmyemployees.employees where last_name like '__n_l%'";
第五步:返回结果集
    ResultSet rs = stmt.executeQuery(sql);
第六步:处理查询结果集
    while循环获取rs.next中的数据
第七步:关闭流
上代码
package com.bjpowernode.jdbc;
import java.sql.*;
import java.util.ResourceBundle;
/*
思想:
将连接数据库的可变化的4条信息写到配置文件中。
以后想连接其他数据库的时候,可以直接修改配置文件,不用修改java程序。
四个信息是什么?
driver
url
user
password
*/
public class JDBCTest05 {
public static void main(String[] args) {
//资源绑定器
ResourceBundle bundle = ResourceBundle.getBundle("resources/db");
 //通过属性配置文件拿到信息
String driver = bundle.getString ("driver");
String url = bundle.getString ("url");
String user = bundle.getString ("user");
String password = bundle.getString ("password");
System.out.println(driver);
System.out.println(url);
System.out.println(user);
System.out.println(password);
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try{
//获取驱动
Class.forName(driver);
//获取连接
conn = DriverManager.getConnection(url,user,password);
//获取操作对象
stmt = conn.createStatement();
//执行sql语句
String sql = "select\n" +
"\tlast_name as '姓',\n" +
"\tfirst_name as '名',\n" +
"\tsalary\n" +
"FROM\n" +
"\tmyemployees.employees\n" +
"WHERE\n" +
"\tlast_name LIKE '__n_l%';";
//获取结果集
rs = stmt.executeQuery(sql);
//查询处理结果集
while(rs.next()){
String lastname = rs.getString("姓");
String firstname = rs.getString("名");
String salary = rs.getString("salary");
System.out.println(lastname + "," +firstname + "," + salary);
}

}catch (Exception e){
e.printStackTrace();
}finally{
//释放资源
if (rs != null) {
try{
rs.close();
}catch (SQLException e){
e.printStackTrace();
}
}if (stmt != null) {
try{
stmt.close();
}catch (SQLException e){
e.printStackTrace();
}
}if (conn != null) {
try{
conn.close();
}catch (SQLException e){
e.printStackTrace();
}
}
}
}
}
点赞

发表回复

电子邮件地址不会被公开。必填项已用 * 标注