文档章节

使用druid配置jndi

Iverson58
 Iverson58
发布于 2015/12/19 17:26
字数 245
阅读 86
收藏 1


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




© 著作权归作者所有

共有 人打赏支持
Iverson58
粉丝 2
博文 13
码字总数 11736
作品 0
天津
使用Druid解决Oracle Thin驱动中文乱码

问题 使用Oracle Thin驱动比较麻烦的一个问题是容易出现中文乱码,且Thin驱动不像MySQL驱动那样能在链接字符串中指定编码。 2. 思路 最直接的解决方案是对所有数据库中读出的字符串进行编解码...

joshuazhan
2013/03/16
0
4
主流Java数据库连接池比较及前瞻

本文转载自微信公众号「工匠小猪猪的技术世界」 主流数据库连接池 常用的主流开源数据库连接池有C3P0、DBCP、Tomcat Jdbc Pool、BoneCP、Druid等 C3p0: 开源的JDBC连接池,实现了数据源和JND...

渣渣(Charles)
04/30
0
0
DBeaver链接Oracle数据库中文显示乱码

背景 DBeaver是一款不错的开源数据库客户端http://www.oschina.net/p/dbeaver,基本的增删改查足够用了。但在链接Oracle时,由于字符编码问题,容易产生乱码,现可以使用Druid来解决这个问题...

joshuazhan
2013/04/13
0
0
数据库连接池clearpool(java实现)详解

clearpool的maven项目托管在https://github.com/xionghuiCoder/clearpool,同时也可以在http://www.oschina.net/p/clearpool上了解它的简单介绍。 首先大家可能会问,现在开源社区已经有了很...

xionghuiCoder
2014/08/20
0
16
数据库连接池种类,你会那种??

在Java中开源的数据库连接池有以下几种 : 1, C3P0 C3P0是一个开放源代码的JDBC连接池,它在lib目录中与Hibernate[1]一起发布,包括了实现jdbc3和jdbc2扩展规范说明的Connection 和Statement...

一一叶
2014/03/11
0
1

没有更多内容

加载失败,请刷新页面

加载更多

70.shell的函数 数组 告警系统需求分析

20.16/20.17 shell中的函数 20.18 shell中的数组 20.19 告警系统需求分析 20.16/20.17 shell中的函数: ~1. 函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段...

王鑫linux
今天
3
0
分布式框架spring-session实现session一致性使用问题

前言:项目中使用到spring-session来缓存用户信息,保证服务之间session一致性,但是获取session信息为什么不能再服务层获取? 一、spring-session实现session一致性方式 用户每一次请求都会...

WALK_MAN
今天
6
0
C++ yield()与sleep_for()

C++11 标准库提供了yield()和sleep_for()两个方法。 (1)std::this_thread::yield(): 线程调用该方法时,主动让出CPU,并且不参与CPU的本次调度,从而让其他线程有机会运行。在后续的调度周...

yepanl
今天
4
0
Java并发编程实战(chapter_3)(线程池ThreadPoolExecutor源码分析)

这个系列一直没再写,很多原因,中间经历了换工作,熟悉项目,熟悉新团队等等一系列的事情。并发课题对于Java来说是一个又重要又难的一大块,除非气定神闲、精力满满,否则我本身是不敢随便写...

心中的理想乡
今天
53
0
shell学习之获取用户的输入命令read

在运行脚本的时候,命令行参数是可以传入参数,还有就是在脚本运行过程中需要用户输入参数,比如你想要在脚本运行时问个问题,并等待运行脚本的人来回答。bash shell为此提 供了read命令。 ...

woshixin
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部