jdbc连接数据库5个步骤,简述jdbc提供的连接数据库的几种方法

  jdbc连接数据库5个步骤,简述jdbc提供的连接数据库的几种方法

  

目录

方式一:直接通过数据库厂商提供的相关驱动方法二:通过反射的方式来构造驾驶员对象方式三:使用驾驶员管理器来替换驾驶员获取连接方法四:省略创建驾驶员对象和注册驱动方式五:通过配置文件的方式每种方式迭代的原因方式五的优点总结

 

  

方式一:直接通过数据库厂商提供的相关驱动

步骤

 

  导入相关驱动(构建路径)创建驾驶员类的实例化对象获取要连接数据库的统一资源定位器创建性能类的实例化对象,将账号和密码封装到该对象中通过驾驶员实例化对象调用连接(字符串url,属性信息)方法获取关系对象包连接;导入Java。SQL。连接;导入Java。SQL。司机;导入Java。SQL。SQL异常;导入Java。util。属性;导入org。朱尼特。木星。API。测试;公共类连接测试{ @ Test public void Test()抛出SQLException { //创建驾驶员实例驱动程序驱动程序=新的com。MySQL。CJ。JDBC。driver();//获取要读取数据库的统一资源定位器字符串URL= JDBC :我的SQL ://localhost :3306/test 04 _ EMP ;//将账号密码封装到性能对象中Properties info=new Properties();info.setProperty(user , root );info.setProperty(password , ABC 123 );//通过驾驶员的对象获取连接连接connect=驱动程序。连接(网址,信息);//调用连接的toString()系统。出去。println(连接);}}

  

方法二:通过反射的方式来构造Driver对象

通过班级的forName(字符串类名)获取驱动的运行时类。通过运行时类的新实例()来获取运行时类的对象。获取统一资源定位器和将账号密码封装到性能对象中。使用运行时类的对象调用连接()方法获取连接测试公共void test2()抛出异常{ //通过反射的方式获取运行时类class clazz=class。forname( com。MySQL。CJ。JDBC。司机’);//通过反射的方式创建运行时类对象Driver Driver=(Driver)clazz。新实例();//获取统一资源定位器字符串URL= JDBC :我的SQL ://localhost :3306/test 04 _ EMP ;//封装账号密码Properties info=new Properties();info.setProperty(user , root );info.setProperty(password , ABC 123 );//获取连接连接connect=驱动程序。连接(网址,信息);系统。出去。println(连接);}

 

  

方式三:使用DriverManager来替换Driver获取连接

获取驾驶员的实现类对象。使用驾驶员管理器的注册驱动程序(驱动程序驱动程序)方法来注册驱动。提供网址,账号和密码。使用驾驶员管理器的getConnection(字符串url,字符串用户,字符串密码)来获取连接测试公共void test3()抛出异常{ //通过反射的方式获取驾驶员对象Driver Driver=(Driver)class。forname( com。MySQL。CJ。JDBC。司机) .新实例();

 

   //调用DriverManager的registerDriver(Driver driver)方法注册驱动 DriverManager.registerDriver(driver); //提供账号、密码和URL String user="root"; String password="abc123"; String url="jdbc:mysql://localhost:3306/test04_emp"; //调用DriverManager的getConnection()方法来获取连接 Connection connect=DriverManager.getConnection(url,user,password); System.out.println(connect); /*getConnection()还有一种版本:getConnection(String url,Properties info) * 可以参考方法一和方法二。 */ }

 

  

方法四:省略创建Driver对象和注册驱动

通过反射将Driver类加载到内存中。提供账号、密码和URL。通过DriverManager调用getConnection()获取连接。注意:这里之所以可以省略创建Driver对象和注册驱动是因为,创建Driver对象的目的是给DriverManager调用registerDriver()注册驱动时提供参数,而在Driver类加载到内存中时,有一个static方法会自动调用registerDriver()方法,从而自动注册驱动。

 

  

@Test public void test4() throws Exception { //通过反射将Driver加载到内存中 Class.forName("com.mysql.cj.jdbc.Driver"); //提供相关信息 String user="root"; String password="abc123"; String url="jdbc:mysql://localhost:3306/test04_emp"; //通过getConnection()获取连接 Connection connect=DriverManager.getConnection(url,user,password); System.out.println(connect); }

 

  

方式五:通过配置文件的方式

创建配置文件通过类的加载器生成指向配置文件的流创建Properties对象,通过调用load()方法将配置文件加载到内存中通过Properti对象的getProperty(String key)获取相关信息通过反射的方式加载驱动调用getConnection()获取连接

@Test public void test5() throws Exception { //通过类加载器创建一个指向配置文件的流 InputStream input=ConnectionTest.class.getClassLoader().getResourceAsStream("test.properties"); //创建Properties对象 Properties infoProperties=new Properties(); //以流为参数调用load()加载配置文件 infoProperties.load(input); //获取相关信息 String driver=infoProperties.getProperty("driver"); String url=infoProperties.getProperty("url"); String user=infoProperties.getProperty("user"); String password=infoProperties.getProperty("password"); //加载驱动 Class.forName(driver); //获取连接 Connection connection= DriverManager.getConnection(url, user, password); System.out.println(connection); }

我们通常都使用方式五

 

  

 

  

每种方式迭代的原因

第一种方式是直接通过使用指定数据库厂商的驱动来获取数据库连接的,但是我们希望程序具有更好的可移植性,所以采用反射的方式来获取驱动,这就产生了第二种方法;在开发中,我们通常都不使用Driver来获取连接,而是通过使用DriverManager来获得数据库连接,这就从第二种方式到了第三种方式;又因为Driver的实现类中有静态方法调用了regiesterDriver()方法,所以在通过反射的方式将类加载到内存中时,会自动注册驱动,我们可以将注册驱动的过程省略,这就产生了第四种方法;在前面的方法中,我们都是直接把账号密码和URL以及驱动的名称直接写在程序中的额,这不太符合我们日常的规范,也在一定程度上增加了程序的 风险,为此我们将相关信息保存在配置文件中,在程序中通过读取配置文件的方式来获取相关的信息,这就产生了最后一种也是我们最常用的方式。

 

  

 

  

方式五的优点

将需要的数据放到配置文件中,实现了数据和代码分离,减少了耦合性。如果需要修改配置文件信息,只需要替换文件就可以,避免了重新打包文件。

 

  

总结

到此这篇关于JDBC获取数据库连接的5种方式的文章就介绍到这了,更多相关JDBC数据库连接内容请搜索盛行IT以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT!

 

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 关系型数据库与非关系型数据库简介一样吗,关系型数据库非关系型数据库有哪些
  • 关系型数据库与非关系型数据库简介一样吗,关系型数据库非关系型数据库有哪些,关系型数据库与非关系型数据库简介
  • 关于redis数据库入门详细介绍图片,redis数据库的使用,关于Redis数据库入门详细介绍
  • 使用php连接mysql数据库,php连接数据库的方法
  • 使用php连接mysql数据库,php连接数据库的方法,一文详解PHP连接MySQL数据库的三种方式
  • 什么是分库分表,为什么要进行分库分表-,分库分表的区别,数据库分库分表是什么,什么情况下需要用分库分表
  • vb中adodb连接数据库,
  • treeview控件绑定数据,wpf treeview数据绑定,详解TreeView绑定数据库
  • sql的多表查询,数据库如何实现多表查询
  • SQL数据库的图形管理界面工具是,sql图形界面创建数据库
  • SQL数据库的图形管理界面工具是,sql图形界面创建数据库,SQLServer2019 数据库的基本使用之图形化界面操作的实现
  • sql数据库定时备份怎么弄,mysql 定期备份
  • sql数据库定时备份怎么弄,mysql 定期备份,MySQL 数据库定时备份的几种方式(全面)
  • sqlserver的nvarchar和varchar,数据库varchar和nvarchar
  • sqlserver的nvarchar和varchar,数据库varchar和nvarchar,SQL中varchar和nvarchar的基本介绍及其区别
  • 留言与评论(共有 条评论)
       
    验证码: