mybatis+Tomcat使用JNDI配置数据源

我自己做了一个练手的项目,项目已经基本完成,但是项目开始用的是jdbc配置数据源,一切都没有问题,后来我想把它改成用jndi配置数据源。下面是我改造时查了很多资料后整理的学习笔记,自己试过了没问题。仅供参考,可能每个人的情况不一样。依赖的环境:Windows,java编辑器,Tomcat,web项目(spring+mybatis+MySQL)具体操作步骤如下:

1、配置全局的jndi

在Tomcat的安装目录下的conf/目录中找到context.xml文件,打开,在里添加如下代码:

 <Resource name="jndi/mysql"
            auth="Container"
            type="javax.sql.DataSource"
            driverClassName="com.mysql.jdbc.Driver"
            url="jdbc:mysql://localhost:3306/eroly"
            username="root"
            password="root"
            maxActive="20"
            maxIdle="10"
            maxWait="10000"/>

这是在配置JNDI全局数据源,当然这是针对MySQL的

注意:当使用jdbc时数据库的URL是这样写的

url="jdbc:mysql://ip:port/dbName?useUnicode=true&characterEncoding=UTF-8"

但如果使用jndi还这样写就会报错,但是URL可以写成如下形式。但大多数都是在dbName都就不写了

url="jdbc:mysql://ip:port/dbName?useUnicode=true&amp;characterEncoding=UTF-8" 

Oracle数据库是这样的,如果还想添加其他属性,可以自行查找

<Resource name="jndi/oracle" 
                auth="Container"   
                type="javax.sql.DataSource"   
                driverClassName="oracle.jdbc.driver.OracleDriver"   
                url="jdbc:oracle:thin:@xxxxxxxxxxxxx:htfuat"   
                username="xx"   
                password="xx"   
                poolMaximumActiveConnections="20"   
                poolMaximumIdleConnections="10"   
                poolMaximumCheckoutTime="10000"/>   

  2、导入数据库驱动包

在Tomcat的目录下的lib/目录中添加数据库驱动的jar包,mysql的驱动包,如mysql-connector-java-5.1.18-bin.jar,网上都可以下载到,oracle的驱动包可以自己找哈,官网下载

3、在mybatis.xml(数据源配置)

将原来的jdbc配置改成如下配置:

<!-- JNDI方式配置数据源 -->
 <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
   <property name="jndiName">
      <value>java:comp/env/jndi/mysql</value>
   </property>
 </bean>

注意:value中java:comp/env/是jndi规定的前缀。公司项目里用的就是weblogic没加前缀,查资料得知weblogic时好像不识别前缀,可以直接写成jndi的name。没有试过,感兴趣的可以试一下哈。

 

做完这些操作之后,我直接启动项目就好了,完美运行。

希望可以对你有帮助!!~_~

 

 

 

 

 

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员 beige

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值