JDBC中最常用的有一个核心类和三个核心接口:
DriverManager类:用于实现数据库连接,具体为实现注册驱动和创建数据库连接对象
Connection接口:用于表示与数据库的连接对象,从DriverManager对象获取
Statement接口:用于表示SQL语句的对象,从Connection对象获取
ResultSet接口:用于表示查询操作的结果集,当对Statement对象执行查询操作时,会返回该接口的对象
JDBC原生实现连接数据库并执行增删改查
1、使用DriverManager类注册Mysql驱动
此操作由DriverManager.registerDriver(new com.mysql.jdbc.Driver());实现,但是实际上,com.mysql.jdbc.Driver类中的静态代码块中包含如下语句:java.sql.DriverManager.registerDriver(new Driver);,这段代码说明只要这个com.mysql.jdbc.Driver类被用到,DriverManager类就会自动被注册为mysql驱动,故只需要加载该类即可:Class.forName(“com.mysql.jdbc.Driver”);
2、调用DriverManager类中的静态方法public static Connection getConnection(String url,String user, String password) throws SQLException()来获取连接对象,这个方法的实参分别代表的是指定需要连接的数据库的地址,该数据库的用户名,该数据库的密码。
3、获取到连接对象后,通过Connection接口的createStatement()方法来获取Statement对象,此处不关心实现类,Statement对象可用于执行SQL语句
4、使用Statement对象执行executeQuery(String sql);或者executeUpdate(String sql);方法来进行增删改查操作
5、如果2步骤中执行的操作为查询,那么该方法的返回值是ResutSet对象,获取到该对象后,使用该对象调用next()方法,该方法的返回值为布尔类型,再在循环中调用get方法获取对应的值即可。如果d步骤执行的操作为增删改,那么返回值为int类型的数据,代表实际影响到的行数
上述操作中的1、2、5步骤可以被抽取到工具类中,同时,获取数据库连接的三要素,和实际加载的jdbc驱动的的类名,这四个参数可以放入properties文件中,实现配置化。该工具类只需要提供获取数据库的连接返回数据连接,并提供关闭资源的方法即可。工具类代码和调用的测试类代码
/**
*获取数据库连接对象
*/
Public stayic Connection getConnection(){
Connection con=null;
try{
con=DriverMarager.getConnection(url,user,password);
}catch(5QLException e){
e.printStackTrace();
throw new RuntimeException(“获取数据库连接异常 请检查配置数据”);
}
Return con;
}