使用druid配置jndi
使用druid配置jndi
Iverson58 发表于2年前
使用druid配置jndi
  • 发表于 2年前
  • 阅读 64
  • 收藏 1
  • 点赞 0
  • 评论 0

【腾讯云】新注册用户域名抢购1元起>>>   

摘要: 使用druid,mysql,mybatis,spring配置jndi数据源


1.druid.jar、mysql.jar放到%tomcat_home%\lib下

2.%tomcat_home%\conf下配置context.xml配置如下

<Context>

<Resource name="UserDatabase" auth="Container"

              type="org.apache.catalina.UserDatabase"

              description="User database that can be updated and saved"

              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"

              pathname="conf/tomcat-users.xml" />


<Resource 

         name="jdbc/MysqlDataSource"

         factory="com.alibaba.druid.pool.DruidDataSourceFactory"

         auth="Container"

       type="javax.sql.DataSource"

       driverClassName="com.mysql.jdbc.Driver"

      url="jdbc:mysql://localhost:3306/basicpool?useUnicode=true&amp;characterEncoding=utf-8"

        username="root"

     password="root"

        maxActive="50"

      maxWait="10000"

         removeabandoned="true"

       removeabandonedtimeout="60"

        logabandoned="false"

filters="stat"/>


</Context>


如果是jdbc获取jndi数据源

/**

 * @ClassName: JdbcUtil

 * @Description: Jdbc连接工具类

 * @author  Iverson

 *

 */

public class JdbcUtil {


    private static final String MYSQL_DB_JNDINAME="java:comp/env/jdbc/MysqlDataSource";

private static DruidDataSource dsMysql;

static {

   try {

                //1.初始化名称查找上下文

       Context ctx= new InitialContext();

           //2.通过JNDI名称知道到DataSource

       dsMysql=(DruidDataSource) ctx.lookup(MYSQL_DB_JNDINAME);

       

        } catch (Exception e) {

        e.printStackTrace();

        }

}


/**

* 获取connection

* @return 

* @throws Exception

*/

public static Connection getConnection()throws Exception{

   return dsMysql.getConnection();

}

}



如果是spring配置

<!-- 引入外部文件 -->

<context:property-placeholder location="classpath:jdbc.properties" />

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">

<property name="jndiName" value="${jndiName}"/>

</bean>

<!-- 事务 -->

<bean id="transactionManager"  class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

<property name="dataSource" ref="dataSource"/>

</bean>

<!-- 开启事务注解 -->

<tx:annotation-driven transaction-manager="transactionManager"/>


jdbc.properties

jndiName=java:comp/env/jdbc/MysqlDataSource




  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 1
博文 4
码字总数 2225
×
Iverson58
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: