通过Driver与DriverManager连接数据库

xiaoxiao2021-02-28  57

一、通过Driver接口连接数据库         Driver是JAVA中的一个接口,它的实现是由数据库厂商去实现的,能够通过它去获取数据库的连接,想要使用Driver,需要通过如下步骤:      ①从Mysql官网下载到驱动后解压      ②在当前项目中新建一个文件夹      ③将解压后的驱动文件夹中的jar结尾的文件添加到步骤②中新建的文件夹的目录下      ④右键单击jar文件,选择bulid  path,然后add to bulidpath 导入了之后我们就可以根据Driver的实体对象去获取数据库的连接,实现方法如下:      ①创建一个Driver实现类的对象 Driver driver = new com.mysql.jdbc.Driver();      ②创建连接数据库的基本信息String类型的name,Properties类型的info String url = "jdbc:mysql://localhost:3306/sid" ; Properties info = new Properties(); url的书写方式如上面所示,上面是连接本地Mysql的方式,链接最后的sid为要连接的数据库名      ③调用Driver接口的connect(url,info)方法获取数据库连接 Connection connection = driver .connect(url, info); System. out.println(connection ); 但是这个方法有个弊端,就是不能解耦,当在连接其他数据库的时候就要重写这个方法,所以我们采用将连接数据库所需的信息存放在文件中,当需要连接不同的数据库厂商时可以修改配置文件从而达到解耦,具体操作如下:      1、在当前项目中创建一个文件名为"jdbc.properties",并写入如下内容并保存 driver=com.mysql.jdbc.Driver jdbcurl=jdbc:mysql://localhost:3306/test user=root password=090936//这里的密码是安装mysql等数据库时所设置的密码      2、然后在相应的方法中读取该文件,按照以下方式执行 public Connection getConnection() throws Exception{ String driverClass = null ; String jdbcurl = null; String user = null; String password = null; //读取类路径下的jdbc.properties文件 InputStream In =getClass().getClassLoader().getResourceAsStream("jdbc.properties" );//输入流读取文件 Properties properties = new Properties(); properties.load(In ); //将文件中的数据存入先前设置好的变量中 driverClass = properties .getProperty("driver"); jdbcUrl = properties.getProperty("jdbcurl" ); user = properties.getProperty("user" ); password = properties.getProperty("password" ); Driver driver = (Driver) Class.forName(driverClass).newInstance(); //反射创建Driver对象 Properties info = new Properties(); info.put( "user", user ); info.put( "password", password ); Connection connection = driver .connect(jdbcurl, info); return connection ; } 像上面这样,就可以做到对任意数据库厂商的连接了,而我们只需要更改配置文件的信息即可 二、通过DriverManager获取数据库连接      DriverManager是驱动的管理类,用它来连接数据库比Driver更为方便,只需要利用反射加载好数据库的驱动程序然后再调用其中的getConnection()方法即可完成数据库的连接,因为可以通过改变传入getConnection()方法的参数来返回不同的数据库连接,所以它可以管理不同的驱动程序,下面就是通过DriverManager来获取数据库连接的步骤:      1、在当前项目中创建一个文件名为"jdbc.properties",并写入如下内容并保存 driver=com.mysql.jdbc.Driver jdbcurl=jdbc:mysql://localhost:3306/test //注意这里连接的是mysql数据库 user=root password=090936//这里的密码是安装mysql等数据库时所设置的密码      2、进行连接数据库的一系列操作,具体过程如下 public Connection getConnection1() throws Exception{ // 1、创建连接数据库的基本信息 String driverClass = null; String url = null; String user = null; String password = null; // 2、创建Properties对象并获取jdbc.Properties对应的输入流 Properties properties = new Properties(); InputStream in = getClass().getClassLoader().getResourceAsStream("jdbc.properties"); // 3、加载对应的输入流 properties.load(in); // 获取输入流中的信息从而决定连接数据库的基本信息的内容 driverClass = properties.getProperty("driver"); url = properties.getProperty("jdbcurl"); user = properties.getProperty("user"); password = properties.getProperty("password"); // 5、利用反射加载数据库驱动程序 Class.forName(driverClass); // 6、通过DriverManager中的getConnection()方法获取数据库连接 return DriverManager.getConnection(url, user, password); }      3、进行连接的测试 在完成了前两个步骤之后,在主函数中进行测试,测试内容如下 public static void main(String[] args) throws Exception { TestDriverManager e = new TestDriverManager(); System.out.println(e.getConnection1()); } 若输出语句为    com.mysql.jdbc.JDBC4Connection@xxxxxx 则数据库的连接完成了
转载请注明原文地址: https://www.6miu.com/read-78989.html

最新回复(0)