from:http://www.zekkocho.com/java/91-connect-to-database-with-jdbc-singleton

——————————————————————DBConnect.java—————————————————————

package Jdbc;

import java.sql.*;

public class DBConnect{

//Static instance of connection, only one will ever exist

private static Connection connection = null;

//Returns single instance of connection

public static Connection getConnection(){

//If instance has not been created yet, create it

if(DBConnect.connection == null){

initConnection();

}

return DBConnect.connection;

}

//Gets JDBC connection instance

private static void initConnection(){

try{

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

String url = "jdbc:mysql://localhost/test";

String user = "root";

String pw = "";

DBConnect.connection =

DriverManager.getConnection(url, user, pw);

}

catch (ClassNotFoundException e){

System.out.println(e.getMessage());

System.exit(0);

}

catch (SQLException e){

System.out.println(e.getMessage());

System.exit(0);

}

catch (Exception e){

}

}

}

————————————————————————TestDB.java————————————————————————

package Jdbc;

import java.sql.*;

public class TestDB {

public static void main(String args[])

throws Exception{

//Always returns the same instance

Connection connection = DBConnect.getConnection();

ResultSet rows = null;

Statement s = connection.createStatement();

String select = "select * from people;";

rows = s.executeQuery(select);

while(rows.next()){

System.out.println(rows.getString("name"));

}

//Get connection again, still same instance

Connection connection2 = DBConnect.getConnection();

if(connection2 == connection){

System.out.println("Same Instance");

}

}

}

———————————————————new a test db:test————————————————

create table people(

id int,

name varchar(10)

);

mysql> insert into people values(1, "zhangsan");

Query OK, 1 row affected (0.04 sec)

mysql> insert into people values(2, "lisi");

Query OK, 1 row affected (0.02 sec)

mysql> insert into people values(1, "zhangsan");

Query OK, 1 row affected (0.02 sec)

mysql> select * from people;

+------+----------+

| id   | name     |

+------+----------+

|    1 | zhangsan |

|    2 | lisi     |

|    1 | zhangsan |

+------+----------+

3 rows in set (0.00 sec)

mysql>

———————————————————————run result:——————————————————————

zhangsan

lisi

zhangsan

Same Instance

C:\Users\decli\Desktop\Jdbc>dir

驱动器 C 中的卷没有标签。

卷的序列号是 5EEE-076C

C:\Users\decli\Desktop\Jdbc 的目录

2011/10/31  09:49

2011/10/31  09:49

2011/10/30  18:51               505 createDB.txt

2011/10/30  18:37               985 DBConnect.java

2011/10/31  10:34

2011/10/30  18:39               679 TestDB.java

3 个文件          2,169 字节

3 个目录 35,813,437,440 可用字节

C:\Users\decli\Desktop\Jdbc>javac  -d . *.java

C:\Users\decli\Desktop\Jdbc>C:\Users\decli\Desktop\java>java -cp .;./Jdbc/mysql-connector-java-5.0.8-bin.jar Jdbc.TestDB

zhangsan

lisi

zhangsan

Same Instance

注:如果是linux,请将 ; 换成 :即可:

gs_decli_0_231:/data/decli/java/testdb # java -cp .:./mysql-connector-java-5.0.8-bin.jar  Jdbc.TestDB   zhangsan lisi zhangsan Same Instance gs_decli_0_231:/data/decli/java/testdb #

java mysql 单例模式_java 单例模式(singleton)连接 mysql 数据库相关推荐

  1. javaweb连接不上mysql怎么办_java web应用连接mysql会突然connection连接失败

    tomcat6.0 mysql5.1 项目:java web项目 问题:原本项目运行了好几天了,一直没发现问题,突然今天报数据库连接异常,进入看日志发现 ### Error querying data ...

  2. wdcp mysql密码_WDCP提示无法连接mysql及创建站点提示mysql密码不正确

    一.wdcp系统访问提示无法连接mysql 1.可能是mysql服务没启动,首先ssh登陆服务器,然后执行service mysqld restart重启mysql再访问试下,如果无法启动,先用df  ...

  3. mysql跳过安全_Navicat连接MySQL数据库

    前言: 在使用Gin架构搭建博客的时候,需要设计数据库,以及连接数据库.命令端口操控效率实在是太低且不好管理,这个时候使用Navicat就能轻松高效的使用数据库了. 步骤: 下载安装Navicat,M ...

  4. php mysql odbc_javascript连接mysql与php通过odbc连接任意数据库的实例

    脑洞大开用javascript链接mysql,2个小时总算实现了,用到了odbc,后面又想到用php链接odbc链接数据库,也实现了,就把案例放一下. 注意事项: 1.javascript连接mysq ...

  5. qt5.8连接mysql代码_qt5.8如何连接mysql

    qt5.8连接mysql的方法:首先编译生成mysql的驱动:然后下载"libmysql.dll"库,并将其放在Qt的bin文件夹下:最后创建连接代码文件进行测试即可. 推荐:&l ...

  6. mysql 遗失对主机的连接,MySQL远程连接丢失问题解决方法(Lost connection to MySQL server)...

    MySQL远程连接丢失问题解决方法(Lost connection to MySQL server) 最近服务器很不稳定,于是重装了mysql 和php 服务,但是接着却遇到了很头疼的麻烦. 远程连接 ...

  7. 不能连接本地数据库mysql_win7系统下mysql或sqlserver显示无法连接本地数据库如何解决...

    最近有win7系统用户在使用数据的时候可能会遇到一些问题,比如有时候会遇到mysql或sqlserver显示无法连接本地数据库的情况,经过分析可能是相关服务没有开启,本教程就给大家带来win7系统下m ...

  8. MYSQL闪退及DBeaver连接MYSQL出现拒绝连接的解决方法

    问题描述: MYSQL闪退: DBeaver连接MYSQL失败 可能原因是MYSQL服务没有启动  解决方案: 1.使用管理者模式打开CMD 2.进入MYSQL安装目录下的bin目录,并执行mysql ...

  9. java 批量增删改_java使用JDBC连接mysql并且进行批量增删改操作

    在处理百万级的数据时,经常需要对数据库中的数据进行增删改查操作,由于数据量大,进行Query的时候在效率上还是可以接受,但进行增删改的时候,如果采用一次一条记录操作,则效率大大的降低,因此,需要进行批 ...

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

    前言 本文主要来说说三种 Java 中获取 mysql 连接的方式,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 第一种:传统的连接方式: 第二种:读取配置文件方式: 第三种:数据库 ...

最新文章

  1. cocos studio和cocos creator关系
  2. 专家:中国房地产泡沫崩溃时间就是今明二年
  3. [学习笔记]模拟电路技术
  4. Dom4j遍历解析XML测试
  5. C语言深度剖析书籍学习记录 第二章 符号
  6. 信息学奥赛一本通 1120:同行列对角线的格 | OpenJudge NOI 1.8 02:同行列对角线的格子
  7. Java 并发编程AQS基本介绍
  8. SpringBoot Security 整合 thymeleaf 模板自定义登录页面,按需提示错误信息
  9. torchtext 中文语料加载
  10. plt.rcParams[‘font.sans-serif‘] = [‘SimHei‘] 和plt.rcParams[‘axes.unicode_minus‘] = False
  11. CLodop云打印服务(localhost本地)未安装启动
  12. [渝粤教育] 南京中医药大学 诊断学技能训练 参考 资料
  13. EL调用的是poji实体类的get方法
  14. Html5前景分析发展,HTML5未来发展的5大趋势
  15. ps-半透明图片抠图
  16. 2014联通见习感悟
  17. 癫痫的神经行为和临床共病:白质网络中断/损伤的作用
  18. 淘宝吱口令效果实现,获取系统剪贴板内容
  19. (社会舆情) 小世界网络,规则网络,随机网络
  20. 如何在GNS3中使用VPCS虚拟PC

热门文章

  1. 博客中插入公式——之在线数学公式生成
  2. git+coding.net记录篇
  3. React中函数式声明组件
  4. 工作流软件是未来web的支柱
  5. 域名解析与邮件服务器收发问题
  6. 创业者请不断自问:我能帮用户解决什么问题?
  7. Linux下修改PATH的方法
  8. 教你怎样做项目开发总结报告[转]
  9. 92. php 命名空间(2)
  10. 41. PHP MySQL 连接数据库