jdbc数据库连接方式(迭代)

方式五为最终版本

方式一

   @Testpublic void testConnection() throws SQLException {
//      1.获取Driver的实现类对象Driver driver =new com.mysql.jdbc.Driver();//url:
//      jdbc:mysql:协议
//      localhost:ip地址
//      3306  默认mysql端口号
//      test:test数据库String                        url="jdbc:mysql://localhost:3306/test";
//      将用户名和密码封装在PropertiesProperties info=new Properties();info.setProperty("user", "root");info.setProperty("password","root");Connection con=driver.connect(url,info);System.out.println(con);}

方式二

// 方式二  对方式一的迭代
//  在如下的程序中不出现第三方的API,使程序具有更好的可移植性
//java项目www fhadmin org@Testpublic void testConnections() throws Exception {
//  1.获取Driver实现类对象,使用反射Class cla=Class.forName("com.mysql.jdbc.Driver");Driver driver=(Driver)cla.newInstance();//   2.提供连接的数据库String url="jdbc:mysql://localhost:3306/test";
//   3.提供连接需要的用户名和密码Properties info=new Properties();info.setProperty("user", "root");info.setProperty("password", "root");
//   4.获取连接Connection con=driver.connect(url, info);System.out.println(con);}

方式三

// 方式三:使用DriverManager替换Driver
//java项目www fhadmin org@Testpublic void testConnection3() throws Exception {//     1.获取Driver 实现类对象Class clazz=Class.forName("com.mysql.jdbc.Driver");Driver driver=(Driver)clazz.newInstance();//     2.提供另外三个连接信息String url="jdbc:mysql://localhost:3306/test";String user="root";String password="root";
//      注册驱动DriverManager.registerDriver(driver);
//      获取连接Connection con=DriverManager.getConnection(url,user,password);System.out.println(con);}

方式四

// 方式四:可以只是加载驱动,不用显示的注册驱动了
//java项目www fhadmin org@Testpublic void testConnection4() throws Exception {
//  1.提供三个连接的基本信息String url="jdbc:mysql://localhost:3306/test";String user="root";String password="root";
//  2.加载DriverClass.forName("com.mysql.jdbc.Driver");
//      相较于方式三,可以省略如下操作
//      Driver driver=(Driver)clazz.newInstance();
//      注册驱动
//      DriverManager.registerDriver(driver);
//      为什么可以:/*在MySQL的Driver实现类中声明了静态代码块来实现注册驱动* */
//  3.获取连接Connection con=DriverManager.getConnection(url,user,password);System.out.println(con);}

方式五(最终版本)

// 方式五:将数据库连接需要的4个信息/*java项目www fhadmin org* 好处:* 1.实现了数据与代码的分离,实现了解耦* 2.如果需要修改配置文件信息,可以避免程序重新打包*/@Testpublic void getConnection5() throws Exception {
//      1.读取配置文件中的4个基本信息InputStream is= JdbcCreat1.class.getClassLoader().getResourceAsStream("jdbc.properties");Properties pro = new Properties();pro.load(is);String user=pro.getProperty("user");String password=pro.getProperty("password");String url=pro.getProperty("url");String driverClass=pro.getProperty("driverClass");
//  2.加载驱动Class.forName(driverClass);
//  3.获取连接Connection con = DriverManager.getConnection(url,user,password);System.out.println(con);}
}

  • 附带的配置文件

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

java jdbc数据库五种连接方式相关推荐

  1. Jdbc连接mysql的五种连接方式

    一:五种连接方式 直接上码 package com.wyjedu.jdbc;import com.mysql.jdbc.Driver;import java.io.FileInputStream; i ...

  2. 智能家居主流的五种连接方式

    内容截取自B站UP主 小戴tv 视频链接:https://www.bilibili.com/video/BV17v411Y7TP/?spm_id_from=333.788.recommend_more ...

  3. Qt信号与槽的五种连接方式

    qt信号与槽的五种连接方式: 1.默认连接:如果是在同一线程等价于直连,在不同线程等价于队列连接 2.直连:信号在哪,在哪个线程执行(最好只在同一线程中用) 3.队列连接: 槽在哪就在哪个线程执行 ( ...

  4. Java 单例模式常见五种实现方式

    定义 单例模式,属于创建类型的一种常用的软件设计模式. 单例模式最初的定义出现于<设计模式>(艾迪生维斯理, 1994):"保证一个类仅有一个实例,并提供一个访问它的全局访问点. ...

  5. 后端技术:Java定时任务的五种创建方式

    Quartz表达式生成地址:http://cron.qqe2.com/ 支持生成定时任务表达式和反解析,使用Quartz表达式的定时任务如下 xxl-job springboot 的 @Schedul ...

  6. Rabbitmq中常用的五种连接方式

    目录 前提准备 方式一:  Hello World 服务端(provider)代码 客户端(customer)代码 方式二: work(以下方式都是通过工具类来创建connection对象) 有两种方 ...

  7. mysql连oracle方法_Oracle数据库三种连接方式

    访问Oracle数据库,可以通过三种方式:第一种方式是应用进程直接访问数据库实例的共享内存,第二种方式是通过beq协议在本机上访问 访问Oracle数据库,可以通过三种方式:第一种方式是应用进程直接访 ...

  8. 数据库几种连接方式的(左右union all)

    A表 id  name 1 bai 2 zhang 3 li B表 a_id score 1 80 2 70 1 30 左连接: select A.* ,B.* from A a left outer ...

  9. 项目案例模板之jdbc两种连接方式

    项目案例模板之jdbc两种连接方式 第一种连接方式 JDBCUtils.java package jdbc;​import org.junit.jupiter.api.Test;​import jav ...

最新文章

  1. python如何计算个人gpa_使用While循环(Python)计算GPA
  2. Android官方开发文档Training系列课程中文版:OpenGL绘图之添加动态效果
  3. ElasticSearch倒排索引
  4. vue验证整数_vue input 输入校验字母数字组合且长度小于30的实现代码
  5. java中singleton_Singleton是什么,在Java中如何实现
  6. Gradient-Based Learning Applied to Document Recognition
  7. 计算机点关机无法关闭主机,老司机教你电脑关机关不了怎么办
  8. JavaScript中的变量 函数 对象的定义和方法
  9. 管中窥豹IIoT(一):工业物联网价值与解决方案通用模型
  10. 百度网盘批量上传文件工具
  11. CPU彪高分析及解决
  12. Ubuntu创建Eclipse桌面快捷方式
  13. mysql Prepared Statements
  14. firebase 推送_使用Firebase Cloud Messaging发送推送通知
  15. 三菱FX2NPLC CMP比较指令
  16. DRF之View、APIView以及GenericAPIView
  17. 《计算机是怎样跑起来的》优化使用VBScript语言编写的石头剪刀布游戏
  18. Github即将破百万的PDF:编写高质量代码改善JAVA程序的151个建议
  19. Luminar 4:AI 天空更换
  20. Linux权限相关问题

热门文章

  1. phpstudy免费安全检测服务_Phpstudy联合各大安全厂商为用户提供免费安全检测服务...
  2. 数据预处理:原始数据集快速分类的方法,numpy的使用技巧,数据的row=mask的column
  3. JS -- Unexpected trailing comma
  4. HDU - 1827 Summer Holiday (强连通)
  5. Struts2 入门
  6. 第三章 可扩展标记语言XML
  7. codeforces 269B Greenhouse Effect
  8. JavaScript高级程序设计58.pdf
  9. Code Complete-13/7/29
  10. tomcat使用说明