对JDBC数据源的引用

1. 准备工作

    a. 启动glassfish服务器。浏览器中输入http://localhost:4848/,登陆到管理页面。

        用户名:admin,密码adminadmin

    b. 配置过程:
        在 "资源->jdbc->连接池" 页面中点[新建]按钮

    c. 标识连接池的常规设置 常规设置 名称: (必填的) (注:自己起名称)
        mysql_database_userPool

        资源类型:(注:下拉列表中选择)
        javax.sql.DataSource"

        数据库供应商:
        MySql

    d. 标识连接池的常规设置。

        名称:mysql_database_userPool

        资源类型:javax.sql.DataSource

        数据库供应商:MySQL

        数据源类名称: 必填的 com.mysql.jdbc.jdbc2.optional.MysqlDataSource

        实现 DataSource 和/或 XADataSource API 的特定于供应商的类名

        描述:(对该连接池作用的描述)

     e. 编辑属性表格

         User                   blog

         Password           5566

         serverName        localhost

         databaseName   blog

         portNumber        3306

         driverClass         com.mysql.jdbc.Driver

         URL                     jdbc:mysql://localhost:3306/blog?autoReconnect=true

     f.  按ping 按钮后,如果提示ping成功,那就ok了。

         如果提示 配置数据库连接池时提示类错误: 类名错误或没有为以下类设置类路径:

         com.mysql.jdbc.jdbc2.optional.MysqlDataSource
         这是由于服务器找不到对应的数据库驱动类。

         注意:将该类库加载到nb中时,只是针对编译时此类起作用,但是GlassFish并不能从nb项目中查询类库。

     g. 然后再根据这个数据连接池,新建一个JDBC连接,给这个连接一个名字如xiangmustudent,

         就可以在项目中使用了。
         注意下面路径下的domain.xml文件
         C:\Program Files\sges-v3\glassfish\domains\domain1\config

    

2. 准备完成后。开始引用数据库资源

    两种方法:

   a.  自动添加。

        右键插入代码。使用数据库资源。根据提示完成引用。

   b. 手动添加。
       sun-web.xml中

       <resource-ref>
            <res-ref-name>jdbc/MySqlDB</res-ref-name>
            <jndi-name>xiangmustudent</jndi-name>
       </resource-ref>

          向web.xml加入下面的内容
        <resource-ref>
              <description>DBPool Connection</description>
              <res-ref-name>jdbc/MySqlDB</res-ref-name>
              <res-type>javax.sql.DataSource</res-type>
              <res-auth>Container</res-auth>
        </resource-ref> 

        然后就可以通过数据源找到数据库连接了。

 

 

 

注:这是先建立连接池再引用。也可以直接在项目中先引用,自动生成连接池。

      在服务器资源sum-resource.xml中会有自动生成的连接池信息。

<jdbc-resource enabled="true" jndi-name="xiangmustudent" object-type="user"

                         pool-name="mysql_students_studentsPool"/>
     <jdbc-connection-pool allow-non-component-callers="false" associate-with-thread="false" connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" connection-validation-method="auto-commit" datasource-classname="com.mysql.jdbc.jdbc2.optional.MysqlDataSource" fail-all-connections="false" idle-timeout-in-seconds="300" is-connection-validation-required="false" is-isolation-level-guaranteed="true" lazy-connection-association="false" lazy-connection-enlistment="false" match-connections="false" max-connection-usage-count="0" max-pool-size="32" max-wait-time-in-millis="60000" name="mysql_students_studentsPool" non-transactional-connections="false" pool-resize-quantity="2" res-type="javax.sql.DataSource" statement-timeout-in-seconds="-1" steady-pool-size="8" validate-atmost-once-period-in-seconds="0" wrap-jdbc-objects="false">
    <property name="User" value="students"/>
    <property name="Password" value="5566"/>
    <property name="serverName" value="localhost"/>
    <property name="portNumber" value="3306"/>
    <property name="databaseName" value="students"/>
    <property name="URL" value="jdbc:mysql://localhost:3306/students?autoReconnect=true"/>
    <property name="driverClass" value="com.mysql.jdbc.Driver"/>
  </jdbc-connection-pool>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值