JDBC3

作者: Hoffnung_8164 | 来源:发表于2020-05-21 23:20 被阅读0次

1.5.2 PreparedStatement的功能

        为占位符设置值

            setXxx(参数1,参数2)

                参数1:问号的位置,从1开始

                参数2:问号位置上的值

    执行SQL

            executeUpdate():执行增删改查,返回 int 值,表示影响的记录数

            executeQuery():执行查询,返回结果集 ResultSet

1.6 数据库连接池

        1.6.1 概念

                    概念:本质上就是一个容器,存放数据库连接对象的容器

        1.6.2 好处

                节省资源

                提高用户的访问效率

        1.6.3 实现方式

              在 javax.sql 下提供了一个数据库连接池的接口,DataSource

                    DataSource的方法:

                        1.  getConnection():从连接池中获取连接对象

                            close():将连接对象归还到连接池中

        1.6.3.1 C3P0

                步骤:

                        导入 jar 包,c3p0-0.9.5.2.jar 和 mchange-commons-java-0.2.12.jar

                        编写配置文件:

                            在项目的 src 目录下定义 c3p0.properties 或者 c3p0-config.xml

                            在文件中定义数据库的驱动包、数据库的地址、用户名、密码等

                            创建C3P0的核心类对象,ComboPooledDataSource

// 第一种方式会在c3p0的配置文件中,根据named-config标签下的内容对数据库连接池进行配置

                    ComboPooledDataSourcedataSource=newComboPooledDataSource("myc3p0");

// 第二种方式会在c3p0的配置文件中,根据default-config标签下的内容对数据库连接池进行配置

                    ComboPooledDataSourcedataSource=newComboPooledDataSource();

            调用获取连接对象的方法,getConnection()

            归还连接对象,close()

c3p0-config.xml

<c3p0-config>

    <named-configname="myc3p0">

        <!-- driverClass:驱动包  -->

        <propertyname="driverClass">com.mysql.jdbc.Driver</property>

        <!-- jdbcUrl:数据库地址 -->

        <propertyname="jdbcUrl">jdbc:mysql://localhost:3306/0521am</property>

        <!-- user:管理员的用户名 -->

        <propertyname="user">root</property>

        <!-- password:管理员的密码 -->

        <propertyname="password">1234</property>

        <!-- initialPoolSize:连接池的默认大小 -->

        <propertyname="initialPoolSize">3</property>

        <!-- maxPoolSize:最大连接数 -->

        <propertyname="maxPoolSize">5</property>

        <!-- checkoutTimeout:超时时间 -->

        <propertyname="checkoutTimeout">1000</property>

 </named-config>

    <default-config>

        <!-- driverClass:驱动包  -->

        <propertyname="driverClass">com.mysql.jdbc.Driver</property>

        <!-- jdbcUrl:数据库地址 -->

        <propertyname="jdbcUrl">jdbc:mysql://localhost:3306/0521am</property>

        <!-- user:管理员的用户名 -->

        <propertyname="user">root</property>

        <!-- password:管理员的密码 -->

        <propertyname="password">1234</property>

        <!-- initialPoolSize:连接池的默认大小 -->

        <propertyname="initialPoolSize">3</property>

        <!-- maxPoolSize:最大连接数 -->

        <propertyname="maxPoolSize">5</property>

        <!-- checkoutTimeout:超时时间 -->

        <propertyname="checkoutTimeout">1000</property>

    </default-config>

</c3p0-config>

注:

1.  从连接池中存在的连接对象的第一个开始获取

    将归还的连接对象添加到连接池的末尾

    当获取连接数超过了配置的最大连接数时会发生异常

    当连接对象使用完毕后,应立即归还,以便重新获取加以利用

1.6.3.2 Druid

        由阿里巴巴提供

        步骤:

            导入 jar 包,druid-1.0.9.jar

            定义配置文件:

            编写 properties 文件

                文件名是任意的,可以放在任意的目录下

            加载配置文件

                    从数据库连接池工厂中获取连接池对象

                    数据库连接池工厂,DruidDataSourceFactory

                    获取连接池对象,createDataSource(Properties 对象)

            获取连接对象,getConntion()

druid.properties

driverClassName=com.mysql.jdbc.Driver

url=jdbc:mysql:///0521am

username=root

password=1234

initialSize=3

maxActive=5

maxWait=3000

相关文章

  • JDBC3

    1.5.2 PreparedStatement的功能 为占位符设置值 setXxx(参数1,参数2) 参数1:问号...

  • JDBC3 -滚动结果集

    默认的ResultSet只能向下遍历(next());可以将其设置成滚动的,既可以向上遍历(previous())...

  • 主流Java数据库连接池比较及前瞻

    一、主流数据库连接池 C3p0: 实现数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。Hibern...

  • Spring_11 c3p0 使用入门

    c3p0 是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前...

  • c3p0与dbcp的作用与区别,及使用!

    一:c3p0简介及作用: c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和J...

  • C3P0基本使用教程

    C3P0基本使用教程 C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDB...

  • C3P0、DBCP连接池

    C3P0连接池 C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的...

网友评论

      本文标题:JDBC3

      本文链接:https://www.haomeiwen.com/subject/apoxahtx.html