1. JDBC(Java Database Connectivitu):是一个独立于特定数据库管理系统、通用的SQL数据库存储和操作的公共接口;
2. JDBC接口包括两个层次
面向应用的API:Java API,抽象接口,开发使用(连接数据库,执行语句,获得结构);
面向数据库的API:供开发商使用;
3. JDBC使用流程以及连接方式(主要记方式五,其他几种为过渡)
方式五:实现了数据代码的分离,实现解耦;修改时可以直接修改,不必修改程序再打包;
// 方式五(最终版,由1-4推进而来),将数据库连接需要的4个基本信息申明在配置文件中,通过读取配置文件的方式,获取连接 public static void testConnection5() throws Exception { // 1.读取配置文件中的4个基本信息,配置文件中等号两边不加空格 InputStream is = test.class.getClassLoader().getResourceAsStream("jdbc.properties"); // 2.加载配置文件中的数据 Properties pros = new Properties(); pros.load(is); // 获取 String user = pros.getProperty("user"); String password = pros.getProperty("password"); String url = pros.getProperty("url"); String driverClass = pros.getProperty("driverClass"); Class.forName(driverClass); // 3.获取连接 Connection conn = DriverManager.getConnection(url, user, password); }
// 连接方式一:使用第三方插件的方式连接 public static void testConnection1() throws SQLException { Driver dirver = new com.mysql.cj.jdbc.Driver(); // jdbc:mysql:协议 // localhost:ip地址 // 3306:默认mysql的端口号 // jdbc_learn:数据库 String url = "jdbc:mysql://localhost:3306/abc?serverTimezone=UTC"; // 将用户名和密码封装在Properties中 Properties info = new Properties(); info.setProperty("user", "root"); info.setProperty("password", "root"); Connection connection = dirver.connect(url, info); } // 连接方式二:使用反射方式连接 public static void testConnection2() throws Exception { // 1.获取Driver实现类对象,使用反射 // 替换方式一中使用第三方插件获取driver对象 Class clazz = Class.forName("com.mysql.cj.jdbc.Driver"); Driver driver = (Driver) clazz.newInstance(); ... } // 方式三:使用DriverManager代替Driver public static void testConnection3() throws Exception { ... // 1.获取Driver实现类对象 Class clazz = Class.forName("com.mysql.cj.jdbc.Driver"); Driver driver = (Driver) clazz.newInstance(); // 注册驱动 DriverManager.registerDriver(driver); // 获取连接 Connection conn = DriverManager.getConnection(url, user, password); } // 方式四:省略注册驱动 public static void testConnection4() throws Exception { ... Class.forName("com.mysql.cj.jdbc.Driver"); // Driver driver = (Driver) clazz.newInstance(); // 注册驱动 // DriverManager.registerDriver(driver); // mysql的Driver中存在静态代码块,自动注册 // 3.获取连接 Connection conn = DriverManager.getConnection(url, user, password); }
标签:jdbc,url,Driver,JDBC,days01,mysql,硅谷,password,连接 From: https://www.cnblogs.com/LinxhzZ/p/16735232.html