JDBC的使用步骤1:加载驱动
* 类的加载时机:
* 1、new 对象
* 2、加载子类
* 3、调用类中的静态成员
* 4、通过反射
* 使用new对象的方式加载类的不足:
* 1、属于编译期加载,如果编译期间该类不存在,则直接编译报错,也就是依赖性太强
* 2、导致driver对象创建了两遍,效率较低
* 采用反射的方式加载类
* 1、属于运行期加载,降低了类的依赖性
* 2、driver对象仅仅创建了1遍,效率较高。
//老方式:不推荐
// DriverManager.deregisterDriver(new Driver());
Class.forName("com.mysql.jdbc.Driver");
//driver类源代码中加载时的静态代码块中创建过一次driver对象
JDBC的使用步骤2,:获取连接
使用配置文件:
Properties info = new Properties();
info.load(new FileInputStream("src//jdbc.properties"));
String user = info.getProperty("user");
String password = info.getProperty("password");
String driver = info.getProperty("driver");
String url = info.getProperty("url");
//1、加载驱动
Class.forName(driver);
//2、获取连接
Connection connection = DriverManager.getConnection(url,user,password);
System.out.println("连接成功");
JDBC的使用步骤3:执行增删改查
Properties info = new Properties();
info.load(new FileInputStream("src//jdbc.properties"));
String user = info.getProperty("user");
String password = info.getProperty("password");
String driver = info.getProperty("driver");
String url = info.getProperty("url");
//1、加载驱动
Class.forName(driver);
//2、获取连接
Connection connection = DriverManager.getConnection(url,user,password);
System.out.println("连接成功");
//3、执行增删改查
String sql = "select id,name,sex,borndate from beauty";
//获取执行sql的命令对象
Statement statement = connection.createStatement();
//执行sql语句
boolean execute = statement.execute(sql);//执行任何sql语句,其中增删改返回false,只有查询且有值得时候返回true
int update = statement.executeUpdate(sql);//执行增删改语句
ResultSet set = statement.executeQuery(sql);//执行查询语句,返回结果集
while(set.next()) {
int id = set.getInt(1);
String name = set.getString(2);
String sex = set.getString(3);
Date date = set.getDate(4);
System.out.println(id+"\t"+name+"\t"+sex+"\t"+date);
}
set.close();
statement.close();
connection.close();