zoukankan      html  css  js  c++  java
  • 为tomcat动态添加jndi数据源信息

    我们在开发项目的时候,总要和数据库打交道,如何获取数据源,以什么样的方式来获取,成为了我们即简单又熟悉而且不得不注意的一个问题。

    那么在这里我说三种获取数据源的常用方式:

    一、通过配置文件来获取
    1. 首先在项目的classPath下面,建立一个配置文件,如jdbc.properties。
    2. 通过最原始的方式,解析这个配置文件,然后读取配置信息,再封装jdbc信息,从而得到数据源。
    3. 使用spring;通过spring去建立dataSource Bean。这个dataSource Bean里的信息同样来自己于你的配置文件。注意要在配置文件中加入:
    <context:property-placeholder location="classpath:jdbc.properties" />
    引入静态文件

         4.Spring中的dataSource bean大致如下:

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
            destroy-method="close">
            <property name="driverClassName" value="${driverClassName}" />
            <property name="url" value="${url}" />
            <property name="username" value="${username}" />
            <property name="password" value="${password}" />
            <property name="maxActive" value="20" />
            <property name="initialSize" value="1" />
            <property name="maxWait" value="60000" />
            <property name="maxIdle" value="20" />
            <property name="minIdle" value="3" />
            <property name="removeAbandoned" value="true" />
            <property name="removeAbandonedTimeout" value="180" />
            <property name="connectionProperties" value="clientEncoding=UTF-8" />
    </bean>
    dataSource bean

       5.配置文件的内容大致如下:

    driverClassName=com.mysql.jdbc.Driver
    url=jdbc:mysql://localhost:3306/springsecurity?allowMultiQueries=true
    username=root
    password=123456
    jdbc配置文件
    二、通过jndi来获取
    1. 说明:通过jndi的方式来获取,通常是在使用spring的情况下使用,当然也可以是其它方式。
    2. 首先,在tomcat的config目录下的context.xml文件中,加入如下语句:
    <Resource driverClassName="com.mysql.jdbc.Driver" maxActive="120" maxWait="5000" maxldle="10" name="app" type="javax.sql.DataSource" url="jdbc:mysql://127.0.0.1:3306/goldApp?allowMultiQueries=true" username="root" password="123456"/>
    jndi Resoure

      3.对于第”2”点的说明:name表示为jndi的名字, driverClassName是使用的驱动类,url当然就是连接相关信息,username是登录数据库的用户名,password是数据库密码。

      4.执行好第”2”步过后,要做的事情:在你的spring配置文件中,加入引入jndi的bean,如下:

    <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">  
            <property name="jndiName">  
                <value>java:comp/env/app</value>  
            </property>  
    </bean>
    jndi spring Bean

      5.对于第“4”点的说明:

        在value中java:comp/env/是前缀,app帮是content.xml中配置的jndi的名字。

    三、在MATA-INFO 文件下加入Content.xml方式,让项目在部署时动态为tomcat加上jndi数据源

      1.首先,在MATA-INFO下建文件: Context.xml

             文件内容如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <Context>
        <Resource 
            driverClassName="com.mysql.jdbc.Driver" 
            maxActive="120" 
            maxWait="5000" 
            maxldle="10" 
            name="app" 
            type="javax.sql.DataSource" 
            url="jdbc:mysql://192.168.10.105:3306/springsecurity?allowMultiQueries=true" 
            username="root" 
            password="123456"
        />
    </Context>
    MATA-INFO Context内容

      2.说明:在mata-info下加入此文件后,然后在spring中采用使用jndi的方式引用数据库即可。这种的好处是。它在你发布项目的时候,会动态为你在tomcat的配置文件中加上数据源信息,所以就不用我们每次都手动到content.xml文件加入配置了。注意:动态加的数据源信息在servce.xml中。

  • 相关阅读:
    大数加法、乘法实现的简单版本
    hdu 4027 Can you answer these queries?
    zoj 1610 Count the Colors
    2018 徐州赛区网赛 G. Trace
    1495 中国好区间 尺取法
    LA 3938 动态最大连续区间 线段树
    51nod 1275 连续子段的差异
    caioj 1172 poj 2823 单调队列过渡题
    数据结构和算法题
    一个通用分页类
  • 原文地址:https://www.cnblogs.com/buy360/p/4394792.html
Copyright © 2011-2022 走看看