java mysql 单例模式_java 单例模式(singleton)连接 mysql 数据库
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 数据库相关推荐
- javaweb连接不上mysql怎么办_java web应用连接mysql会突然connection连接失败
tomcat6.0 mysql5.1 项目:java web项目 问题:原本项目运行了好几天了,一直没发现问题,突然今天报数据库连接异常,进入看日志发现 ### Error querying data ...
- wdcp mysql密码_WDCP提示无法连接mysql及创建站点提示mysql密码不正确
一.wdcp系统访问提示无法连接mysql 1.可能是mysql服务没启动,首先ssh登陆服务器,然后执行service mysqld restart重启mysql再访问试下,如果无法启动,先用df ...
- mysql跳过安全_Navicat连接MySQL数据库
前言: 在使用Gin架构搭建博客的时候,需要设计数据库,以及连接数据库.命令端口操控效率实在是太低且不好管理,这个时候使用Navicat就能轻松高效的使用数据库了. 步骤: 下载安装Navicat,M ...
- php mysql odbc_javascript连接mysql与php通过odbc连接任意数据库的实例
脑洞大开用javascript链接mysql,2个小时总算实现了,用到了odbc,后面又想到用php链接odbc链接数据库,也实现了,就把案例放一下. 注意事项: 1.javascript连接mysq ...
- qt5.8连接mysql代码_qt5.8如何连接mysql
qt5.8连接mysql的方法:首先编译生成mysql的驱动:然后下载"libmysql.dll"库,并将其放在Qt的bin文件夹下:最后创建连接代码文件进行测试即可. 推荐:&l ...
- mysql 遗失对主机的连接,MySQL远程连接丢失问题解决方法(Lost connection to MySQL server)...
MySQL远程连接丢失问题解决方法(Lost connection to MySQL server) 最近服务器很不稳定,于是重装了mysql 和php 服务,但是接着却遇到了很头疼的麻烦. 远程连接 ...
- 不能连接本地数据库mysql_win7系统下mysql或sqlserver显示无法连接本地数据库如何解决...
最近有win7系统用户在使用数据的时候可能会遇到一些问题,比如有时候会遇到mysql或sqlserver显示无法连接本地数据库的情况,经过分析可能是相关服务没有开启,本教程就给大家带来win7系统下m ...
- MYSQL闪退及DBeaver连接MYSQL出现拒绝连接的解决方法
问题描述: MYSQL闪退: DBeaver连接MYSQL失败 可能原因是MYSQL服务没有启动 解决方案: 1.使用管理者模式打开CMD 2.进入MYSQL安装目录下的bin目录,并执行mysql ...
- java 批量增删改_java使用JDBC连接mysql并且进行批量增删改操作
在处理百万级的数据时,经常需要对数据库中的数据进行增删改查操作,由于数据量大,进行Query的时候在效率上还是可以接受,但进行增删改的时候,如果采用一次一条记录操作,则效率大大的降低,因此,需要进行批 ...
- java 获取mysql链接_Java中如何获取mysql连接的3种方法总结
前言 本文主要来说说三种 Java 中获取 mysql 连接的方式,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 第一种:传统的连接方式: 第二种:读取配置文件方式: 第三种:数据库 ...
最新文章
- cocos studio和cocos creator关系
- 专家:中国房地产泡沫崩溃时间就是今明二年
- [学习笔记]模拟电路技术
- Dom4j遍历解析XML测试
- C语言深度剖析书籍学习记录 第二章 符号
- 信息学奥赛一本通 1120:同行列对角线的格 | OpenJudge NOI 1.8 02:同行列对角线的格子
- Java 并发编程AQS基本介绍
- SpringBoot Security 整合 thymeleaf 模板自定义登录页面,按需提示错误信息
- torchtext 中文语料加载
- plt.rcParams[‘font.sans-serif‘] = [‘SimHei‘] 和plt.rcParams[‘axes.unicode_minus‘] = False
- CLodop云打印服务(localhost本地)未安装启动
- [渝粤教育] 南京中医药大学 诊断学技能训练 参考 资料
- EL调用的是poji实体类的get方法
- Html5前景分析发展,HTML5未来发展的5大趋势
- ps-半透明图片抠图
- 2014联通见习感悟
- 癫痫的神经行为和临床共病:白质网络中断/损伤的作用
- 淘宝吱口令效果实现,获取系统剪贴板内容
- (社会舆情) 小世界网络,规则网络,随机网络
- 如何在GNS3中使用VPCS虚拟PC