[学习笔记]

2.DataSource的单态模式(SingleTon)程序

咱们还接着上面的例子来说。1万个人要看书。千万确保要只建立一个图书馆。要是一不留神,建了两个或三个图书馆,那可就亏大发了。对于数据源来讲,最重要的是要保证在内存当中只有一个实例。如果存在多个实例,那就亏大了。

例:6.2.1
import com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource;
import java.sql.*;
import javax.sql.*;
public class DatabaseConn {

static private MysqlConnectionPoolDataSource ds;
    private Connection con;

private DatabaseConn() {
        ds = new MysqlConnectionPoolDataSource();
        ds.setURL("jdbc:mysql://localhost:3306/test");
        ds.setUser("root");
        ds.setPassword("1234");
    }

public static Connection getConnection() throws Exception {
        if (ds == null) {
/*DatabaseConn的目的是让ds有值,和con无关*/            
            new DatabaseConn();
        }
        Connection con = null;
        con = ds.getConnection();
        return con;
    }
}
}

以下是测试程序:

import java.sql.*;
import javax.sql.*;
public class TestMark_to_win {
    public static void main(String args[]) throws Exception {
        Connection con= DatabaseConn.getConnection();
        Statement stmt = con.createStatement();
        ResultSet rs = stmt.executeQuery("select * from login");
        while (rs.next()) {
            System.out.println(rs.getString("id"));
            System.out.println(rs.getString("name"));
        }
        System.out.println("ok");

文章转载自原文:https://blog.csdn.net/qq_44594249/article/details/100775217

最新文章

  1. git提示:Fatal:could not fetch refs from ....
  2. Intellij Idea中的Jetty报出Web application not found src/main/webapp错误的解决方案
  3. [MySQL5.6 新特性] 全局事务标示符(GTID)
  4. [QDB] 幽灵分享:QDataSet+TQMSSQLConverter 实战技巧
  5. springMVC-配置Bean
  6. R----Shiny包介绍学习
  7. HighCharts之2D柱状图
  8. Unity shader(CG) 写一个 散色、折射、反射、菲涅尔、gamma、简单后期屏幕特效
  9. STM32-AFIO
  10. Exel 利用模板导出方法
  11. The Dangers of JavaScript’s Automatic Semicolon Insertion
  12. TEA encryption with 128bit key
  13. Android学习资料PDF免费大放送,每日更新!有需要的亲看这里
  14. keystone无法查看catalog并且用户无法申请令牌的解决方案
  15. WebGIS开源解决方案之开发环境搭建(一)
  16. 拓扑排序 topsort详解
  17. gogogo
  18. Java高级篇(二)——网络通信
  19. 【linux】shell代码,获取当前路径,创建文件夹
  20. suse下修改主机名

热门文章

  1. 如何画好ER图
  2. mitmproxy进行拦截
  3. Variance Inflation Factor (VIF) 方差膨胀因子解释_附python脚本
  4. 峰回路转的提权08r2服务器
  5. Dart匿名方法函数和闭包
  6. centos7.6环境zabbix3.2源码编译安装版升级到zabbix4.0长期支持版
  7. matplotlib常用操作2
  8. python的url正则表达式
  9. java IO 文件批量重命名
  10. 123457123456#2#----com.MC.HuiHuaGame33--前拼后广--画画填色Game-mc