JDBC 获取数据库的连接方式
要连接数据库需要
- 数据库的url
- MySQL的用户名和密码
- 创建驱动(当用反射加载的时候会自动创建驱动)
- 获得链接
在这里介绍几种连接数据库的方式
第一种
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 获取数据库的连接方式相关推荐
- jdbc获取数据库元数据,获取数据库列表,获取数据库基本信息,获取指定数据库中的表信息,获取指定表中的字段信息
jdbc获取数据库元数据 package cn.itcast.metadata.test;import org.junit.Before; import org.junit.Test;import j ...
- python常见数据库的连接方式【游标】及【pandas】数据读取
本文介绍以下数据库的连接方式,及数据的增删改查 下方中用到的数据,均为随机数据,无实际业务意义. Mysql-游标及pandas连接方式 PostgreSQL-游标及pandas连接方式 Oracle ...
- orcle数据库代码连接方式(jdbc:oracle:thin:@192.168.3.98:1521:orcl)
一. jdbc:oracle:thin:@192.168.3.98:1521:orcl jdbc:表示采用jdbc方式连接数据库 oracle:表示连接的是oracle数据库 thin:表示连接时采用 ...
- java数据库的连接方式_java与各个数据库的连接方式
1.与mysql数据库连接方式 通过配置文件的方式进行获取mysql的username.password.url,等相关数据 //调用jdbc.properties参数文件此时获取的是一个io流的形式 ...
- JDBC之数据库的连接步骤(六步)
1.加载驱动 在连接数据库之前,需要加载数据库的驱动到JVM(Java虚拟机),这需要通过java.lang.Class类的静态方法forName(String className)实现. 例如: / ...
- mysql数据库永久链接_PHP使用数据库永久连接方式(mysql_pconnect)操作MySQL的是与非...
作者:老王 PHP程序员应该都知道连接MySQL数据库可以使用mysql_pconnect(永久连接)函数,使用数据库永久连接可以提高效率,但是实际应用中数据库永久连接往往会导致出现一些问题,通常的表 ...
- 各种数据库的jdbc驱动下载及连接方式
各种数据库驱动 数据库名称 下载地址 说明 Mysql http://www.mysql.com/products/connector/j/ Shipped. But need to download ...
- jdbc获取clob图片_jdbc方式读取oracle的clob字段实例
可能大家也都习惯了spring和hibernate对CLOB字段的处理,在spring中配置clob的oracle处理句柄,在hibernate中配置映射类型,然后就可以很轻松的以String 的形式 ...
- Ignite的jdbc与网格的连接方式的查询性能对比
2019独角兽企业重金招聘Python工程师标准>>> 环境: 数据量100万 Ignite2.5 Windows10 8g jdbc方式连接 import java.sql.Con ...
最新文章
- shiro和Spring整合使用注解时没有执行realm的doGetAuthorizationInfo回调方法的解决
- 在 Chrome 开发者工具中调试 node.js
- Sublime配置C和C++编译运行环境
- 数据分析 绩效_如何在绩效改善中使用数据分析
- ThreadLocal知识介绍
- 【数学】Hunter’s Apprentice
- C语言之数组探究(一):定义、大小、初始化、访问和三要素
- oracle 时间戳生成语句(秒级+毫秒级)
- 三维点云学习(5)2-Deep learning for Point Cloud-PointNet
- wincc版本升级_wincc组态软件下载
- FME突然无法连接FMS服务器
- 射频电路习题解答(一)——利用电子smith图解题
- NMT:神经网络机器翻译
- 【Java小游戏】俄罗斯方块
- 用c语言求解n阶线性矩阵方程组,求解N阶线性矩阵方程
- javaweb-39:文件上传及拓展鸡汤
- 信号和电源隔离的有效设计技术
- 手机邮箱怎么注册申请,手机邮箱在哪里找到,电子邮箱怎么弄?
- 如何将测试刨根问底!
- oracle数据库迁移收费,ORACLE数据库迁移计划