JNDI创建动态数据库连接池原理

 
利用JNDI创建数据库连接池可以使我们很轻松的连接数据库减少连接代码的数量,使连接更稳定,在这种连接情况下速度相对较快.
1)连接池原理一主要通过启动JBOSS时调用配置文件 mssql-ds.xml寻找配置文件中的IP地址和用户密码,通过JTDS来验证验证通过的的用户将有效的对应的用户名和IP等在JAVA的命名空间中存入信息,当你写JSP文件时你只需要通过数据源DATESOURCE寻找你你定义的名字就可以在这里实现了.
例如: mssql-ds.xml文件里面的文件如下:
<datasources>
 <local-tx-datasource>
  <jndi-name>student</jndi-name>
  <connection-url>jdbc:jtds:sqlserver://202.97.22.12:1433;DatabaseName=student;SelectMethod=cursor;charset=GBK</connection-url>
  <driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class>
  <user-name>sa</user-name>
  <password>sa</password>
  <min-pool-size>10</min-pool-size>
  <max-pool-size>100</max-pool-size>
  <!-- sql to call when connection is created
        <new-connection-sql>some arbitrary sql</new-connection-sql>
        -->
  <!-- sql to call on an existing pooled connection when it is obtained from pool
        <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
        -->
 </local-tx-datasource>
 <local-tx-datasource>
  <jndi-name>schedule</jndi-name>
  <connection-url>jdbc:jtds:sqlserver://202.97.22.12:1433;DatabaseName=msdb</connection-url>
  <driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class>
  <user-name>sa</user-name>
  <password>sa</password>
  <min-pool-size>5</min-pool-size>
  <max-pool-size>20</max-pool-size>
  <!-- sql to call when connection is created
        <new-connection-sql>some arbitrary sql</new-connection-sql>
        -->
  <!-- sql to call on an existing pooled connection when it is obtained from pool
        <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
        -->
 </local-tx-datasource>
</datasources>
那么你顶一的名字就是STUDENT.因为<jndi-name>student</jndi-name>
所一你在写JSP文件时候需要寻找此名字

InitialContext ctx     = null;
 DataSource ds          = null;
 Connection conn        = null;
 Statement stmt         = null;
 ResultSet rs           = null;

 ctx  = new InitialContext();
 ds   = (DataSource) ctx.lookup("java:/student");
 conn = ds.getConnection();

你可能感兴趣的:(java,sql,jsp,jboss,数据库连接池,sqlserver)