连接池配置文件db.properties配置

1.新建一个普通文件->改名为db.properties(后缀)手动添加属性

一般为数据库驱动类、数据库连接地址、用户名、用户密码

  1. driver=com.mysql.jdbc.Driver
  2. url=jdbc\:mysql\://localhost\:3306/bookshop
  3. username=root
  4. password=root

2.建立一个包名为until的专门储存数据连接类,里面添加main方法进行测试

  1. package com.bk.until;
  2.  
  3. import java.io.IOException;
  4.  
  5. import java.sql.Connection;
  6. import java.sql.DriverManager;
  7. import java.sql.SQLException;
  8. import java.util.Properties;
  9. /**
  10. * Title: DbConn.java
  11. * Description: 数据库链接类
  12. * @author tiankuan
  13. * @created 2016-12-21 下午8:31:05
  14. */
  15. public class DbConn {
  16.  
  17. private static String username=null;
  18. private static String password=null;
  19. private static String driver=null;
  20. private static String url=null;
  21. /**
  22. * 静态代码块
  23. */
  24. static{
  25. Properties ps=new Properties();
  26. try {
  27. ps.load(DbConn.class.getResourceAsStream("/db.properties"));
  28. username=ps.getProperty("username");
  29. password=ps.getProperty("password");
  30. driver=ps.getProperty("driver");
  31. url=ps.getProperty("url");
  32. } catch (IOException e) {
  33. // TODO Auto-generated catch block
  34. e.printStackTrace();
  35. }
  36.  
  37. }
  38.  
  39. /**
  40. *
  41. * @discription 获取数据库连接 导入包为SQL 非MYSQLJDBC
  42. * @author tiankuan
  43. * @created 2016-12-21 下午8:58:59
  44. * @return 返回数据库连接
  45. */
  46. public static Connection getConn(){
  47. Connection con=null;
  48. try {
  49. Class.forName(driver);
  50. con = DriverManager.getConnection(url, username, password);
  51. } catch (ClassNotFoundException e) {
  52. // TODO Auto-generated catch block
  53. e.printStackTrace();
  54. } catch (SQLException e) {
  55. // TODO Auto-generated catch block
  56. e.printStackTrace();
  57. }
  58. return con ;
  59. }
  60. /**
  61. *
  62. * @discription 关闭数据库
  63. * @author tiankuan
  64. * @created 2016-12-21 下午9:40:36
  65. * @param con
  66. * @return connection
  67. */
  68. public static Connection closeCon(Connection con){
  69.  
  70. if (con!=null) {
  71. try {
  72. con.close();
  73. } catch (SQLException e) {
  74. // TODO Auto-generated catch block
  75. e.printStackTrace();
  76. }
  77. }
  78. return con;
  79.  
  80. }
  81. /**
  82. *
  83. * @discription 数据库测试方法
  84. * @author tiankuan
  85. * @created 2016-12-21 下午9:41:16
  86. * @param args
  87. */
  88. public static void main(String[] args) {
  89. try {
  90. DbConn.getConn();
  91. System.out.println("数据库连接成功");
  92. } catch (Exception e) {
  93. // TODO Auto-generated catch block
  94. e.printStackTrace();
  95.  
  96. }
  97. }
  98. }

Bookshop(一)数据库连接的更多相关文章

  1. Java数据库连接技术——JDBC

    大家好,今天我们学习了Java如何连接数据库.之前学过.net语言的数据库操作,感觉就是一通百通,大同小异. JDBC是Java数据库连接技术的简称,提供连接各种常用数据库的能力. JDBC API ...

  2. .NET跨平台之旅:数据库连接字符串写法引发的问题

    最近在一个ASP.NET Core站点中遇到一个奇怪问题.当用dotnet run命令启动站点后,开始的一段时间请求执行速度超慢,有时要超过20秒,有时甚至超过1分钟,日志中会记录这样的错误: Sys ...

  3. Entity Framework 6 Recipes 2nd Edition(12-3)译 -> 数据库连接日志

    12-3. 数据库连接日志 问题 你想为每次与数据库的连接和断开记录日志 解决方案 EF为DbContext的连接公开了一个StateChange 事件.我们需要处理这个事件, 为每次与数据库的连接和 ...

  4. 如何修复VUM在客户端启用之后报数据库连接失败的问题

    在上一篇随笔中介绍了关于重新注册VMware Update Manager(VUM)至vCenter Server中的方法,最近有朋友反应,原本切换过去好好的更新服务为什么某次使用一下就不灵了? 当时 ...

  5. JDBC_part1_Oracle数据库连接JDBC以及查询语句

    本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! JDBC part1 JDBC概述 jdbc是一种用于 ...

  6. tornado+sqlalchemy+celery,数据库连接消耗在哪里

    随着公司业务的发展,网站的日活数也逐渐增多,以前只需要考虑将所需要的功能实现就行了,当日活越来越大的时候,就需要考虑对服务器的资源使用消耗情况有一个清楚的认知.     最近老是发现数据库的连接数如果 ...

  7. Java第三方数据库连接池库-DBCP-C3P0-Tomcat内置连接池

    连接池原理 数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”.预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去.我们可以通过设定连接池 ...

  8. Java-加载数据库驱动,取得数据库连接

    在Java中想要进行数据库操作,最重要的两个步骤就是加载数据驱动,然后取得数据库连接. 1.加载 数据库驱动( Class.forName(String className) ): 因为Java是一种 ...

  9. QT数据库连接的几个重要函数的使用及注意事项(原创)

    注:在这里数据库对象等同于数据库连接对象,也就是QSqlDatabase类的对象 QSqlDatabase QSqlDatabase::addDatabase((const QString & ...

随机推荐

  1. java 多线程 Synchronized方法和方法块 synchronized(this)和synchronized(object)的理解

    synchronized 关键字,它包括两种用法:synchronized 方法和 synchronized 块. 1. synchronized 方法:通过在方法声明中加入 synchronized ...

  2. 【原】为什么选择iPhone5的分辨率作为H5视觉稿尺寸

    [20160105更新:可以用iPhone6分辨率为视觉稿尺寸啦] 又是一年的520网络情人节,深圳这边却下了大雨,这雨只能是单身汉的泪,而对于我来说这一天具有特别的意义,一来怀念父亲,二来对我这种结 ...

  3. 国际化(Internationalization)

    1:什么是国际化? 国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式.它要求从产品中抽离所有的与语言,国家/地区和文化相关的元素.换言之,应用程序的功 ...

  4. CentOS 7搭建SVN服务器

    安装步骤如下: 1.yum install subversion 2.查看安装版本 svnserve --version 3.创建SVN版本库目录 mkdir -p /var/svn/svnrepos ...

  5. GDB调试汇编堆栈过程分析

    GDB调试汇编堆栈过程分析 分析过程 这是我的C源文件:click here 使用gcc - g example.c -o example -m32指令在64位的机器上产生32位汇编,然后使用gdb ...

  6. ajax的循环

    一.业务需求 在开发中,当一个列表页面加载完成后,我需要根据列表每一项的id去服务器端获取对应的数据然后再把获取的数据赋给当前id对应的标签. 例如如下表格: 我有一系列的商品编号,我需要根据商品编号 ...

  7. logback logback.xml常用配置详解 <filter>

    <filter>: 过滤器,执行一个过滤器会有返回个枚举值,即DENY,NEUTRAL,ACCEPT其中之一.返回DENY,日志将立即被抛弃不再经过其他过滤器:返回NEUTRAL,有序列表 ...

  8. SQL 基础语法(一)

    SQL 语法 数据库表 一个数据库通常包含一个或多个表.每个表由一个名字标识(例如"客户"或者"订单").表包含带有数据的记录(行). 下面的例子是一个名为 & ...

  9. Python文本处理nltk基础

    自然语言处理 -->计算机数据 ,计算机可以处理vector,matrix 向量矩阵. NLTK 自然语言处理库,自带语料,词性分析,分类,分词等功能. 简单版的wrapper,比如textbl ...

  10. 文本文件关键字替换(Java)

    代码实现如下: import java.io.File; import java.io.PrintWriter; import java.util.Scanner; public class File ...