要连接数据库需要

  1. 数据库的url
  2. MySQL的用户名和密码
  3. 创建驱动(当用反射加载的时候会自动创建驱动)
  4. 获得链接

在这里介绍几种连接数据库的方式

第一种

  private static void method1() throws SQLException {Driver driver =new com.mysql.jdbc.Driver();//第三方API//通过获取第三方API来创建驱动对象String url = "jdbc:mysql://localhost:3306/test";Properties info = new Properties();//封装用户名和密码//将用户名和密码以键值对的形式存放到集合之中info.setProperty("user","root");info.setProperty("password","123456");Connection conn=driver.connect(url,info);//获取链接实例System.out.println(conn);}

第二种 (用反射完善第一种)

在第一种中使用了第三方类库 我们可以用反射的方式来更方便的获取

private static void method2() throws Exception {Class clazz = Class.forName("com.mysql.jdbc.Driver");Driver o =(Driver) clazz.getDeclaredConstructor().newInstance();String url = "jdbc:mysql://localhost:3306/test";Properties info = new Properties();//封装用户名和密码info.setProperty("user","root");info.setProperty("password","123456");Connection conn=o.connect(url,info);System.out.println(conn);}

第三种 (注册驱动)

前面两种都是调用Driver里面的 connect来获取链接
DriverManager也可以完成这些工作

private static void method3() throws Exception {Class clazz = Class.forName("com.mysql.jdbc.Driver");Driver o =(Driver) clazz.getDeclaredConstructor().newInstance();String url = "jdbc:mysql://localhost:3306/test";String user="root";String password="123456";DriverManager.registerDriver(o);//注册驱动Connection connection = DriverManager.getConnection(url, user, password);//获得链接System.out.println(connection);}

##第四种(自动注册 完善第三种)
实际上当用反射类加载器获取class的时候就能自动设置好驱动

private static void method4() throws ClassNotFoundException, SQLException {String url = "jdbc:mysql://localhost:3306/test";String userName = "root";String password = "123456";Class.forName("com.mysql.jdbc.Driver");//在添加到加载器的过程中自动创建Connection connection = DriverManager.getConnection(url, userName, password);}

最后一种(最终版)

实际上在使用的时候我们经常把user password url这种东西给放到其他文件中然后通过读取其他文件来获取这些信息

public static void main(String[] args) throws Exception {InputStream resourceAsStream = Connection_连接.class.getClassLoader().getResourceAsStream("jdbc.properties");//这里面放的是信息Properties prop=new Properties();prop.load(resourceAsStream);//将这些信息放到这个集合里面String user  = prop.getProperty("user");//然后通过key-value来读出来String password = prop.getProperty("password");String url = prop.getProperty("url");String driverClass = prop.getProperty("driverClass");Class.forName(driverClass);Connection conn=DriverManager.getConnection(url,user,password);System.out.println(conn);}

jdbc.properties 里面的东西:

user=root
password=123456
url=jdbc:mysql://localhost:3306/test
driverClass=com.mysql.jdbc.Driver

JDBC 获取数据库的连接方式相关推荐

  1. jdbc获取数据库元数据,获取数据库列表,获取数据库基本信息,获取指定数据库中的表信息,获取指定表中的字段信息

    jdbc获取数据库元数据 package cn.itcast.metadata.test;import org.junit.Before; import org.junit.Test;import j ...

  2. python常见数据库的连接方式【游标】及【pandas】数据读取

    本文介绍以下数据库的连接方式,及数据的增删改查 下方中用到的数据,均为随机数据,无实际业务意义. Mysql-游标及pandas连接方式 PostgreSQL-游标及pandas连接方式 Oracle ...

  3. orcle数据库代码连接方式(jdbc:oracle:thin:@192.168.3.98:1521:orcl)

    一. jdbc:oracle:thin:@192.168.3.98:1521:orcl jdbc:表示采用jdbc方式连接数据库 oracle:表示连接的是oracle数据库 thin:表示连接时采用 ...

  4. java数据库的连接方式_java与各个数据库的连接方式

    1.与mysql数据库连接方式 通过配置文件的方式进行获取mysql的username.password.url,等相关数据 //调用jdbc.properties参数文件此时获取的是一个io流的形式 ...

  5. JDBC之数据库的连接步骤(六步)

    1.加载驱动 在连接数据库之前,需要加载数据库的驱动到JVM(Java虚拟机),这需要通过java.lang.Class类的静态方法forName(String className)实现. 例如: / ...

  6. mysql数据库永久链接_PHP使用数据库永久连接方式(mysql_pconnect)操作MySQL的是与非...

    作者:老王 PHP程序员应该都知道连接MySQL数据库可以使用mysql_pconnect(永久连接)函数,使用数据库永久连接可以提高效率,但是实际应用中数据库永久连接往往会导致出现一些问题,通常的表 ...

  7. 各种数据库的jdbc驱动下载及连接方式

    各种数据库驱动 数据库名称 下载地址 说明 Mysql http://www.mysql.com/products/connector/j/ Shipped. But need to download ...

  8. jdbc获取clob图片_jdbc方式读取oracle的clob字段实例

    可能大家也都习惯了spring和hibernate对CLOB字段的处理,在spring中配置clob的oracle处理句柄,在hibernate中配置映射类型,然后就可以很轻松的以String 的形式 ...

  9. Ignite的jdbc与网格的连接方式的查询性能对比

    2019独角兽企业重金招聘Python工程师标准>>> 环境: 数据量100万 Ignite2.5 Windows10 8g jdbc方式连接 import java.sql.Con ...

最新文章

  1. shiro和Spring整合使用注解时没有执行realm的doGetAuthorizationInfo回调方法的解决
  2. 在 Chrome 开发者工具中调试 node.js
  3. Sublime配置C和C++编译运行环境
  4. 数据分析 绩效_如何在绩效改善中使用数据分析
  5. ThreadLocal知识介绍
  6. 【数学】Hunter’s Apprentice
  7. C语言之数组探究(一):定义、大小、初始化、访问和三要素
  8. oracle 时间戳生成语句(秒级+毫秒级)
  9. 三维点云学习(5)2-Deep learning for Point Cloud-PointNet
  10. wincc版本升级_wincc组态软件下载
  11. FME突然无法连接FMS服务器
  12. 射频电路习题解答(一)——利用电子smith图解题
  13. NMT:神经网络机器翻译
  14. 【Java小游戏】俄罗斯方块
  15. 用c语言求解n阶线性矩阵方程组,求解N阶线性矩阵方程
  16. javaweb-39:文件上传及拓展鸡汤
  17. 信号和电源隔离的有效设计技术
  18. 手机邮箱怎么注册申请,手机邮箱在哪里找到,电子邮箱怎么弄?
  19. 如何将测试刨根问底!
  20. oracle数据库迁移收费,ORACLE数据库迁移计划

热门文章

  1. LED灯具新Erp指令对性能要求有哪些?
  2. ctf-stego汇总
  3. python和c哪个好找工作,Python和c++哪个好就业
  4. 智能外呼系统? 其工作流程是什么?
  5. QT---实现小球游戏(零基础入门)
  6. 疫情期间,找工作有多难?
  7. bootstrap添加移动端添加滑动手势功能
  8. CF1311B. WeirdSort题解
  9. java开发时遇到的错误
  10. 6566: Expired?