javaJDBC——连接mysql数据库

2023-11-11

java连接数据库的五种方法。最好的效率最高的是第五种

package com.webtest.connection;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

import org.junit.Test;

public class connectionTest {
	
  //方式一
	@Test
   public void testConnetcion1() throws SQLException {
	   Driver driver = new com.mysql.jdbc.Driver();
	   String url = "jdbc:mysql://127.0.0.1:3306/test";
	    /*
	     * jdbc:mysql 主协议
	     * 
	     * //127.0.0.1:3306   ip地址 :mysql端口号 
	     * /test   test 数据库名
	     */
	   Properties info=new Properties();
	   info.setProperty("user", "root");
	   info.setProperty("password", "root");
	Connection conn = driver.connect(url, info);
	System.out.println(conn);
   }
	
	//方式二,对方式一的迭代  (如下程序中没出现第三方的API,使得程序有更好的移植性)
	@Test
	public void  testConnetcion2() throws SQLException, ClassNotFoundException, InstantiationException, IllegalAccessException {
		//1.获取Driver实现类对象,使用反射
		Class cla = Class.forName("com.mysql.jdbc.Driver");
		Driver driver =(Driver) cla.newInstance(); 
		//2.提供要连接的数据库
		 String url = "jdbc:mysql://127.0.0.1:3306/test";
		//3.提供连接需要的用户名和密码
		   Properties info=new Properties();
		   info.setProperty("user", "root");
		   info.setProperty("password", "root");
		 //4.获取连接
		Connection conn = driver.connect(url, info);
		System.out.println(conn);
	}
	//方式三; 使用DriverManager替换Driver	
	  @Test
	public void testConnetciton3() throws SQLException, ClassNotFoundException, InstantiationException, IllegalAccessException{
		//1.获取Driver的实现类的对象
		Class cla = Class.forName("com.mysql.jdbc.Driver");
		Driver driver =(Driver) cla.newInstance(); 
		//2.提供另外三个连接的基本信息
		String url ="jdbc:mysql://127.0.0.1:3306/test";
		String user="root";
		String password = "root";
		//注册驱动
	   DriverManager.registerDriver(driver);
	   //获取连接
	   Connection conn = DriverManager.getConnection(url,user,password);
	   System.out.println(conn);
	}
	
	//方式四; 使用DriverManager替换Driver 优化	
	@Test
	public void testConnetciton4() throws Exception{
		//1.提供另外三个连接的基本信息
				String url ="jdbc:mysql://127.0.0.1:3306/test";
				String user="root";
				String password = "root";
		Class.forName("com.mysql.jdbc.Driver");
	   //获取连接
	   Connection conn = DriverManager.getConnection(url,user,password);
	   System.out.println(conn);
	}
	
	//方式五:将数据库需要的4个基本信息放到配置文件中,通过配置文件的方式获取连接
	//优点,所有的链接数据都在统一的文件内方便修改数据源。实现数据和代码的 解耦
	 // 2.如果需要修改配置文件信息,可避免程序重新打包 
	@Test
	public void getConnection5() throws Exception {
		InputStream is=Connection.class.getClassLoader().getSystemResourceAsStream("jdbc.properties");
		Properties pros = new Properties();
		pros.load(is);
		String user=pros.getProperty("user");
		String pssword=pros.getProperty("pssword");
		String url=pros.getProperty("url");
		String driverclass=pros.getProperty("driverclass");
		
		//2.加载驱动
		Class.forName(driverclass);
		
		//3.获取连接
		Connection conn = DriverManager.getConnection(url,user,pssword);
		System.out.println(conn);
	}
}

第五种需要加一个配置文件用来传入固定的user/password/url/driver,代码如下

user=root
pssword=root
url=jdbc:mysql://127.0.0.1:3306/test
driverclass=com.mysql.jdbc.Driver
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

javaJDBC——连接mysql数据库 的相关文章

  • 使用 Spring MVC 返回 PDF 文件

    实际上 我有这个功能 我有一个框架 可以在其中设置 URL ip port birt preview report report rptdesign format pdf parameters 并且该框架呈现 PDF 文件 但我想隐藏该网址
  • 如何将列表转换为地图?

    最近我和一位同事讨论了转换的最佳方式是什么List to Map在 Java 中 这样做是否有任何具体的好处 我想知道最佳的转换方法 如果有人可以指导我 我将非常感激 这是个好方法吗 List
  • 我们如何测试我们的 Java UI?

    我们正在寻找记录和回放类型的测试工具来自动化我们的一些 UI 功能测试 我们已经研究了从 Silke 到 QTP 的大多数常见嫌疑 但没有一个起作用 当需要右键单击才能从右键单击菜单中选择某些内容时 或者当您必须在网格的下拉列表中选择一个值
  • 我需要显式关闭连接吗?

    我持有一个实例MongoClient and DB在我的应用程序中 每次我想执行某些操作时 我都会调用getCollection 我想知道是否需要显式关闭连接 就像connection close 在 JDBC 中 强调一下 我只有一个Mo
  • 根据哈希值确认文件内容

    我需要 检查完整性 content文件数量 文件将写入 CD DVD 可能会被复制多次 这个想法是识别正确复制的副本 在从 Nero 等中删除它们之后 我对此很陌生 但快速搜索表明Arrays hashCode byte http down
  • ASM之前看一下maxStack指令吗?

    我正在尝试使用 ASM 库将字节代码转换为不同的格式 这可以使用 MethodVisitor 来完成 就像这个简单的测试代码一样 return new MethodVisitor ASM7 Override public void visi
  • 总结二维数组

    鉴于我当前的程序 我希望它在用户输入所有值后计算每列和每行的总和 我当前的代码似乎只是将数组的值加倍 这不是我想要做的 例如 如果用户输入具有以下值 1 2 3 2 3 4 3 4 5 的 3x3 矩阵 则看起来就像我在下面的程序中对其进行
  • 确定代码是否在 App Engine 运行时 (Java) 上运行

    如何确定某些代码 Serv let 或简单的类 是否正在 Google App Engine 运行时 Java 上运行 以便决定是否使用 App Engine 的特定库 是否有一些可靠的运行时环境 ID 您可以检查com google ap
  • JSON 对象数组转 Java POJO

    将此 JSON 对象转换为 java 中的类 您的 POJO 类中的映射将如何 ownerName Robert pets name Kitty name Rex name Jake This kind of question is ver
  • Java中无参数的for循环

    我在看别人的代码 发现了这段代码 for 我不是 Java 专家 这行代码在做什么 起初 我认为这会创建一个无限循环 但在该程序员使用的同一个类中 while true 其中 如果我错了 请纠正我 是一个无限循环 这两个相同吗 为什么有人会
  • 使用 include 进行 JAXB 剧集编译不起作用

    我有 2 个模式 A B 我在 B 中重用了一些 A 元素 我不使用命名空间 我在用着
  • java 1.8下无法启动eclipse

    java 1 8 升级后我无法启动 eclipse 附上错误截图 这是我的 eclipse 配置设置 我该如何解决 startup plugins org eclipse equinox launcher 1 3 0 v20120522 1
  • 处理照片上传的最佳方式是什么?

    我正在为一个家庭成员的婚礼制作一个网站 他们要求的一个功能是一个照片部分 所有客人都可以在婚礼结束后前往并上传他们的照片 我说这是一个很棒的想法 然后我就去实现它 那么只有一个问题 物流 上传速度很慢 现代相机拍摄的照片很大 2 5 兆 我
  • Storm Spout 未收到 Ack

    我已经开始使用storm 所以我使用创建简单的拓扑本教程 https github com nathanmarz storm wiki Tutorial 当我运行我的拓扑时LocalCluster一切看起来都很好 我的问题是我没有得到元组的
  • Python 可以替代 Java 小程序吗?

    除了制作用于物理模拟 如抛射运动 重力等 的教育性 Java 小程序之外 还有其他选择吗 如果你想让它在浏览器中运行 你可以使用PyJamas http pyjs org 这是一个 Python 到 Javascript 的编译器和工具集
  • 如何隐藏或删除 Android HoneyComb 中的状态栏?

    如何隐藏或删除 Android HoneyComb 中的状态栏 每次运行应用程序时 我都会发现某些内容必须被状态栏覆盖 我尝试改变AndroidManifest xml 但没有任何改变 你不知道 它被认为是永久的屏幕装饰 就像电容式主页 菜
  • 将带有时区的 Joda-Time `DateTime` 转换为没有时区的 DateTime?

    Given a DateTime http www joda org joda time apidocs org joda time DateTime html例如2015 07 09T05 10 00 02 00 using 乔达时间 h
  • 升级到 Tomcat 8 时出现 ClassNotFoundException

    我最近将 NetBeans IDE 从 v7 3 升级到 v8 突然我的应用程序在连接到数据库时在服务器启动时抛出异常 这两个版本的 IDE 之间的唯一区别是后者使用 Tomcat 8 异常日志 javax naming NamingExc
  • Java,如何管理线程读取socket(websocket)?

    我有一个 WebSocket 服务器 我的服务器创建一个新线程来处理新连接 该线程一直处于活动状态 直到 websocket 中断 我的问题 对于 1 000 000 个连接 我需要 1 000 000 个线程 我如何通过一个线程处理多个
  • 线程“main”中出现异常 java.lang.UnsatisfiedLinkError: ... \jzmq.dll: 找不到依赖库

    我有一个使用 ZMQ 的 java 应用程序 我已经能够在我的 Win7 PC 上运行它 我将 jzmq dll 放在 jar 可执行文件所在的同一文件夹中 然后通过命令 java jar myapp jar 运行它 我的下一步是将其移至服

随机推荐

  • TBDR下msaa 在metal vulkan和ogles的解决方案

    https developer arm com solutions graphics developer guides understanding render passes multi sample anti aliasing msaa在
  • 第十四届蓝桥杯大赛软件赛省赛(Java 大学B组)

    目录 试题 A 阶乘求和 1 题目描述 2 解题思路 3 模板代码 试题 B 幸运数字 1 题目描述 2 解题思路 3 模板代码 试题 C 数组分割 1 题目描述 2 解题思路 3 模板代码 试题 D 矩形总面积 1 问题描述 2 解题思路
  • (译)cocos2d-x跨android&ios平台开发入门教程

    免责申明 必读 本博客提供的所有教程的翻译原稿均来自于互联网 仅供学习交流之用 切勿进行商业传播 同时 转载时不要移除本申明 如产生任何纠纷 均与本博客所有人 发表该翻译稿之人无任何关系 谢谢合作 原文链接地址 http www raywe
  • Windows下小白安装Qt详细教程

    一 软件下载 官网下载地址 http download qt io 1 点击进入 2 archive 和 official releases 两个目录都有最新的 Qt 开发环境安装包 我们以 archive 目录里的内容为例来说明 点击进入
  • 太强大!发现一个数据分析老司机专用神器!

    去年秋招 字节跳动整体报录比降到了2 创造了150000人争3000岗位的盛况 今年909万毕业生再创新高 激烈程度可想而知 除了技术岗 大部分毕业生也瞄准了高薪高前景的数据分析师岗位 教育部关于高校毕业生就业工作通知 人才缺口 巨大 未来
  • 用python进行数据分析(一:数据理解)

    python作为当前主流的语言之一 他的功能是非常强大的 不论是在游戏行业还是数据分析行业还是软件开发啥的好像都可以用python 但作为一个数据分析师 并不需要用到他的全部功能 只是想要达到 能够用python完成数据分析工作 的效果来帮
  • 同步FIFO的verilog实现(2)——高位扩展法

    一 前言 在之前的文章中 我们介绍了同步FIFO的verilog的一种实现方法 计数法 其核心在于 在同步FIFO中 我们可以很容易的使用计数来判断FIFO中还剩下多少可读的数据 从而可以判断空 满 关于计数法实现同步FIFO的详细内容 请
  • logback 配置文件 XML 案例

    logback配置文件案例 1 实现功能 1 控制台输出日志 2 info warn error 三个级别的日志分文件输出 3 日志文件 按天 按文件大小 滚动保存 4 日志文件保存于 项目根目录下的 logs 目录下 2 具体配置
  • STM 32如何实现程序自加密

    在嵌入式应用开发中 应用开发完成后往往需要对芯片中的程序进行加密处理 用以保护程序安全 不至被竞争对手从芯片把程序固件考走 本节将给大学介绍一个如何实现程序自动给芯片加密功能 下面给大家介绍一个STM32 用程序给MCU加密码的方法 标准库
  • 解决stata安装外部命令报错cannot write in directory C:\Users\�ƿ���\ado\plus\_

    参考网址 https bbs pinggu org thread 10685955 1 1 html ado文件下没有plus文件夹 在do文件或命令行中输入以下三个命令 sysdir set PLUS D stata17 MP ado p
  • Search and Replace -- 搜索与替换的高级利器

    对于从事电脑无纸化办公拟文写作的朋友 随着文档的增多 要查找一个遗忘的文件犹如大海捞针 虽然Windows系统已有很强的搜索功能 但依然不能满足我们的要求 如Windows不能搜索WPS格式的文件 不能搜索数据库 而在第三方软件的帮助下便可
  • 【YOLO系列】YOLOv6论文超详细解读(翻译 +学习笔记)

    前言 YOLOv6 是美团视觉智能部研发的一款目标检测框架 致力于工业应用 论文题目是 YOLOv6 A Single Stage Object Detection Framework for Industrial Applications
  • Xilinx FPGA 学习笔记——时钟资源

    在Xilinx的FPGA中 时钟网络资源分为两大类 全局时钟资源和区域时钟资源 全局时钟资源是一种专用互连网络 它可以降低时钟歪斜 占空比失真和功耗 提高抖动容限 Xilinx的全局时钟资源设计了专用时钟缓冲与驱动结构 从而使全局时钟到达C
  • vue cli4.5.13项目兼容IE问题记录

    用脚手架安装项目后 IE遇到问题如下 一 报错1002 点击错误发现在socketjs client 办法 降低socketjs client 版本 npm install sockjs client 1 5 1 二 安装后 仍然白屏 按照
  • 数据搜索之二分查询

    数据搜索中 如果给定数据集是乱序的情况下一般我们使用顺序搜索按位查询是最常用的方法 但是一旦数据是顺序的 二分法则能大大减少数据搜索的工作量 尤其在几十万甚至上亿的数据量情况下 它的效率就能大大的体现 二分法的思想是通过每次把数据集所在小区
  • html怎样去除超链接的样式_前端从入门到精通

    HTML 标题 标题 Heading 是通过 h1 h6 等标签进行定义的 h1 定义最大的标题 h6 定义最小的标题 注释 浏览器会自动地在标题的前后添加空行 注释 默认情况下 HTML 会自动地在块级元素前后添加一个额外的空行 比如段落
  • 基于卷积神经网络(cnn)的手写数字识别(PyTorch)

    目录 1 1 卷积神经网络简介 1 2 神经网络 1 2 1 神经元模型 1 2 2 神经网络模型 1 3 卷积神经网络 1 3 1卷积的概念 1 3 2 卷积的计算过程 1 3 3 感受野 1 3 4 步长 1 3 5 输出特征尺寸计算
  • mac塔防闯关游戏:气球塔防6 for Mac(BloonsTD6)v38.3中文原生版

    气球塔防6 是由Ninja Kiwi制作的一款塔防游戏 是该系列作品的第六代 游戏于2018年11月发布 在游戏中 玩家需要使用各种防御塔和特殊技能 防止气球带着猴子进入终点 并摧毁猴子们的城镇 游戏中有多种不同类型的气球和猴子 每个气球和
  • 系统重装系列(三)

    系统重装系列 三 接着上期的一系列操作完成后 接下来是我对于系统设置调整 使得系统更加简洁好用 上期回顾 系统重装系列 二 打酱油的杯具的博客 CSDN博客 任务栏 这是刚刚到手的任务栏 个人喜欢小图标 并且要去掉搜索框和右边更新的这个无卵
  • javaJDBC——连接mysql数据库

    java连接数据库的五种方法 最好的效率最高的是第五种 package com webtest connection import java io IOException import java io InputStream import