DAO模式使用JDBC

 

前言

      本文简单的介绍一些JDBC相关的知识点,并用DAO模式写一个JDBC Demo,没有讲述太多的细节。


概述

JDBC英文名为:Java Data Base Connectivity(Java数据库连接),它是一种规范,提供一套完整的、允许便捷式访问底层数据库的接口,架构图如下:

常用接口

  • DriverManager:这个类管理数据库驱动程序的列表,查看加载的驱动是否符合JAVA Driver API的规范。

  • Connection:与数据库中的所有的通信是通过唯一的连接对象。

  • Statement/PareparedStatement:把创建的SQL对象,转而存储到数据库当中。

  • ResultSet:它是一个迭代器,用于检索查询数据。

操作流程图

ResultSet解析

JDBC开启事物

try {

  con.setAutoCommit(false);//开启事务

  ….

  …

  con.commit();//try的最后提交事务

} catch() {

  con.rollback();//回滚事务

数据库连接池

    池(Pool)技术在一定程度上可以明显优化服务器应用程序的性能,提高程序执行效率和降低系统资源开销,例如数据库连接池、线程池、内存池、对象池等。

    资源池(Resource Pool)已经是处理共享资源的一种经典设计模式。该模式正是为了优化资源的频繁分配﹑释放所造成的资源浪费及系统系统延迟。

 

    数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。

    重用的数据库连接池C3P0:

        池参数:

            MaxActive 最大连接数

            MaxIdle 最大空闲连接数

            InitialSize 初始化连接数

            MinIdle 最小空闲连接数

            MaxWait 最大等待时间

            AcquireIncrement 增量

public void fun1() throws PropertyVetoException, SQLException {
    ComboPooledDataSource ds = new ComboPooledDataSource();
    ds.setJdbcUrl("jdbc:mysql://localhost:3306/databaseName");
    ds.setUser("root");
    ds.setPassword("mysql");
    ds.setDriverClass("com.mysql.jdbc.Driver");

    ds.setAcquireIncrement(5);
    ds.setInitialPoolSize(20);
    ds.setMinPoo
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值