java 获取mysql链接_Java中如何获取mysql连接的3种方法总结

前言

本文主要来说说三种 Java 中获取 mysql 连接的方式,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:

第一种:传统的连接方式;

第二种:读取配置文件方式;

第三种:数据库连接池。

一、传统的连接方式:

首先在 src 目录下创建名为 lib 的文件夹,导入数据库驱动的 jar 包,随后 "add to build path"。

1.注册驱动

Class.forName("com.mysql.jdbc.Driver");

2.获取连接

String url = "jdbc:mysql://localhost:3306/shun";

String user = "root";

String password = "";

Connection conn = DriverManager.getConnection(url, user, password);

Finish.

Codes:

c246250365410fc791f60811beaeb0f6.png

二、读取配置文件方式

首先我们在 src 目录下创建一个 .properties 的配置文件,内容如下:

fa71b21130c486e8cce4fbcf35e3b7cc.png

1.读取配置文件

InputStream is = Demo02.class.getClassLoader().getResourceAsStream("db.properties");

2.创建Properties对象

Properties pro = new Properties();

3.装载

pro.load(is);

4.解析

String driver = pro.getProperty("driver");

String url = pro.getProperty("url");

String user = pro.getProperty("user");

String password = pro.getProperty("password");

5.注册驱动获取连接

Class.forName(driver);

Connection conn = DriverManager.getConnection(url, user, password);

Finish.

Codes:

e4c2ae76428ea6f8961ae374a1a5b6dc.png

三、数据库连接池

同样,我们先在 src 目录下创建名为 lib 的文件夹,导入 DBUtils 和数据库连接池的 jar 包,随后 "add to build path"。

1.创建基础数据源

BasicDataSource bds = new BasicDataSource();

2.设置属性

bds.setDriverClassName("com.mysql.jdbc.Driver");

bds.setUrl("jdbc:mysql://localhost:3306/shun");

bds.setUsername("root");

bds.setPassword("");

Finish.

Codes:

41ab40b98c94e663e58ebbe43f5e8a29.png

结语:通过以上对三种Java 中获取 mysql 连接方式的介绍,相信各位已经对此有了初步的了解,第一种很明显是硬编译的方法,就是把数据都写死,在之后的开发中更改起来会很麻烦;而第二种相对第一种方法来说要稍好一些,因为下次再使用时,我们直接修改 .properties 的配置文件就好了;而第三种我们使用了已经为我们写好的 DBCPUtils 包,直接省去了 Connection 对象,执行起来更简单,代码更简洁,资源利用率更低,到时候修改起来也方便,所以说,使用数据库连接池的方法相对来说更好一些。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/359934.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Netty writeAndFlush() 流程与异步

Netty writeAndFlush()方法分为两步, 先 write 再 flush Overridepublic ChannelFuture writeAndFlush(Object msg, ChannelPromise promise) {DefaultChannelHandlerContext next;next findContextOutbound(MASK_WRITE);ReferenceCountUtil.touch(msg, next);next.invoker.in…

JavaScript学习总结(六)——JavaScript判断数据类型总结

最近做项目中遇到了一些关于javascript数据类型的判断处理,上网找了一下资料,并且亲自验证了各种数据类型的判断,在此做一个总结吧! 一、JS中的数据类型 1.数值型(Number):包括整数、浮点数。 2…

material 项目_Web开发必备的 10 个开源项目,不用自己亲自造轮子!

来自:Java and Python君Web 开发中几乎的平台都需要一个后台管理,但是从零开发一套后台控制面板并不容易,幸运的是有很多开源免费的后台控制面板可以给开发者使用,那么有哪些优秀的开源免费的控制面板呢?我在 Github 上…

香辣弹簧:自动接线的不同方法

我想展示使用Spring的Autowired批注的不同方式: Constructor , Method和Field自动装配。 我展示的示例都是byType自动装配模式的一种形式( constructor自动装配模式类似于byType )。 请参阅Spring Reference指南 ,以获…

SVN部署(本地)

1.安装TortoiseSVN 2.建立Repository。在F:/下建立文件夹SVN_NATIVE_REPOSITORY, —— 》 3.在其他任意路径建立任意名称的路径,这里为D:\MSVC Project\SVN_WORK,确保该文件夹为空 右键单击,点击SVN Checkout, 第一行 …

InetAddressImpl#lookupAllHostAddr慢/挂起

自从我升级到优胜美地以来,我已经注意到尝试解析我的家庭网络上的本地主机已经花费了很多时间(有时超过一分钟),所以我想我会尝试找出原因。 这是我的初始/ etc / hosts文件的外观,它基于我的机器的主机名是teetotal的…

mysql sqlserver schema_MySQL数据库数据迁移到SQLserver

最近因工作需要,需要将mysql数据库迁移到sqlserver,仅仅是数据迁移,因此相对比较简单。对于mysql迁移到sqlserver,我们需要使用到mysql odbc驱动,然后透过sqlserver链接服务器的方式来访问mysql。具体见下文描述。一、…

mysql客户端安装错误_windows下mysql 5.7以上版本安装及遇到的问题

(原)早些前用window安装mysql挺简单的,一个安装程序,一路下一步。2006的5.0版本,确实太早了点。于是官网上又下了一个版本,windows也是提供了二个版本Installer(安装)版和Archive(文档)版。Installer版本的后缀是.msi,…

SP2010开发和VS2010专家食谱--第二章节--工作流

本章内容: 1. 创建顺序工作流。 2. 创建带有初始表单的网站工作流。 3. 从工作流创建任务。 4. 创建自定义任务表单。 Introduction 根据国际工作流联盟(http://www.WFMC.org)标准组织,完全致力于流程,这样定义工作流&…

sklearn中eof报错_sklearn中的数据预处理和特征工程

小伙伴们大家好~o( ̄▽ ̄)ブ,今天我们看一下Sklearn中的数据预处理和特征工程,老规矩还是先强调一下,我的开发环境是Jupyter lab,所用的库和版本大家参考:Python 3.7.1(你的版本至少要…

sql显示前10行数据_SPL 简化 SQL 案例详解:计算各组前 N 行

取出各组的前N行数据是较常见的运算,比如:每个月每种产品销量最高的五天是哪五天,每位员工涨薪最多的一次是哪次,高尔夫会员成绩最差的三次是哪三次,等等。在SQL中,这类运算要用窗口函数以及keep/top/rownu…

jquery 与其他库冲突解决方案

var j jQuery.noConflict();j("div p").hide(); // 基于 jQuery 的代码$("content").style.display "none"; // 基于其他库的 $() 代码转载于:https://www.cnblogs.com/timelesszhuang/p/3677845.html

11. mysql锁机制_深入探讨MySQL锁机制

MySQL锁机制究竟是怎样的呢?这是很多人都提到过的问题,下面就为您详细介绍MySQL锁机制方面的知识,希望可以让您MySQL锁机制有更多的了解。当前MySQL已经支持 ISAM, MyISAM, MEMORY (HEAP) 类型表的表级锁了,BDB 表支持页级锁&…

4月21日会议总结(整理—祁子梁)

会议成果: 1.今天我们确定了软件版本的时间alphe版在12周做出来,在我们内部测试基本通过。 bate版在13周发布和其他组作交换测试,在14周release版发布并给其他人使用体验准备15周的演讲。 2.同时确定了部分功能实现顺序,”谁是卧底…

通达信金融终端_尘缘整合_V7.12

http://pan.baidu.com/s/1gvtPO http://pan.baidu.com/s/1xqrk6 通达信金融终端_尘缘整合_V7.12转载于:https://www.cnblogs.com/mier001/p/3679701.html

5天玩转mysql视频教程_六天带你玩转MySQL

教程列表:01数据库课程介绍02数据库(基础知识)03数据库(关系型数据库)04数据库(关系型数据库关键字说明)05数据库(SQL)06数据库(mysql数据库)07数据库(mysql服务器数据对象)08SQL基本操作(新增数据库)09SQL基本操作(查看数据库)10SQL基本操作(更新数据库)12SQL基本操…

winxp精简版没有IIS的解决办法

首先在“开始”菜单的“运行”中输入“c:\Windows\inf\sysoc.inf”,系统会自动使用记事本打开sysoc.inf这个文件。在sysoc.inf中找到“[Components]”这一段,因为是XP简化版,所以里面东西很少,在里面加上这段:“iisiis…

ant vue 兼容性问题_ant design for vue 关于table的一些问题

1、为table添加分页: :pagination"pagination"pagination: {defaultPageSize: 10,showTotal: (total) > 共${total} 条数据,total: 0,showSizeChanger: true,pageSizeOptions: [10, 20, 50],onShowSizeChange: (current, pageSize) > {this.pageSiz…

Coder-Strike 2014 - Finals (online edition, Div. 2) A. Pasha and Hamsters

水题 #include <iostream> #include <vector> #include <algorithm>using namespace std;int main(){int n,a,b;cin >> n >>a >> b;vector<int> apple(n1,0);int k;for(int i 0 ; i < a; i) {cin>>k;apple[k] 1;}for(…

如何查看mysql的gtid_汇总丨MySQL GTID技术点,看这一篇就够了!

mysql> SELECT * FROM mysql.gtid_executed;mysql.gtid_executed表是由MySQL服务器提供给内部使用的。它允许副本在副本上禁用二进制日志记录时使用GTIDs&#xff0c;并允许在二进制日志丢失时保留GTID状态。RESET MASTER命令&#xff0c;gtid_executed表将被清除。服务意外…