IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 数据库连接池使用场景,工作原理和实现步骤 -> 正文阅读

[大数据]数据库连接池使用场景,工作原理和实现步骤

一、使用场景:

大型高并发应用里?
? ? ? ?使用连接池的好处:就是可以限制应用的连接数,另外,不用再额外地去创建每个连接,MySQL创建连接的开销也是较大的,因为创建一个新连接相当于MySQL创建了一个thread。

二、工作原理:

1,创建数据库配置文件jdbc.properties?

url =jdbc:mysql://localhost:3306/stu_score?serverTimezone=UTC
user = user_hyq
password = 123456
driver = com.mysql.cj.jdbc.Driver

?2,定义一个使用jdbc连接数据库的工具类BaseDao.java

public class BaseDao {
    public Connection conn = null;
    public PreparedStatement pstmt = null;
    public ResultSet rs = null;

    static String url = null;
    static String user = null;
    static String password = null;
    static String driver = null;


    // 使用静态块
    static {
        //构造对象
        Properties pro = new Properties();
        //构造流
        //  InputStream is=BaseDao.class.getClassLoader().getResourceAsStream("jdbc.properties");
        try {
            //加载配置文件
            pro.load(new FileReader("src/jdbc.properties"));

            //获取属性值
            url = pro.getProperty("url");
            user = pro.getProperty("user");
            password = pro.getProperty("password");
            driver = pro.getProperty("driver");

        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    /**
     * 获得连接对象
     *
     * @return Connection
     */
    public Connection getConnection() {
        //第一步:加载驱动
        try {
            Class.forName(driver);
            //第二步:获取连接
            conn = DriverManager.getConnection(url, user, password);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return conn;
    }

三、实现步骤

1,配置tomcat中的conf--->context.xml

<Context> 
    <Resource name="jdbc/news" auth="Container" type="javax.sql.DataSource" 
	 maxActive="100" maxIdle="30" maxWait="10000" username="newsu"
	 password="123456" driverClassName="com.mysql.jdbc.Driver"
	 url="jdbc:mysql://127.0.0.1:3306/newsmanagersystem?         
     useUnicode=true&amp;characterEncoding=utf-8" /> 
</Context>

2,配置web.xml

? ? ? 注意:<res-ref-name><res-type>?<res-auth>与配置context.xml时中的<Resource name="jdbc/news" auth="Container" type="javax.sql.DataSource" />一一对应

<resource-ref> 
	<res-ref-name>jdbc/news</res-ref-name>
	 <res-type>javax.sql.DataSource</res-type>
	 <res-auth>Container</res-auth> 
</resource-ref>

3,添加jar包

四、代码的编写

注意:DateSource包导入的是javax.sql.DataSource

    Context ctx = new InitialContext(); 
	DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/news");
	conn = ds.getConnection();

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-12-03 13:06:19  更:2021-12-03 13:07:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 8:53:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码