tomcat中配置jdbc

本文介绍如何在Tomcat环境中配置JDBC数据源,并提供了一种通过XML文件定义数据源属性的方法。此外,还展示了如何在项目的外部目录进行配置,并提供了获取数据库连接的Java实用程序类及DAO实现示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jdbc配置图:

代码如下:

 <Resource name="jdbc/website"       
               type="javax.sql.DataSource"  
               driverClassName="com.mysql.jdbc.Driver"    
               url="jdbc:mysql://@localhost/test"    
               username="test"     
               password="123"   
               maxIdle="10"   
               maxWait="10000" 
               maxActive="350"
               removeAbandoned="true" 
               removeAbandonedTimeout="180"
               logAbandoned="true" 
  factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" />

在tomcat\conf\Catalina\localhost\下编写对应的test.xml,内容如下

<?xml version='1.0' encoding='utf-8'?>

<Context displayName="test" docBase="/test" path="/test" workDir="work/Catalina/localhost/test">

   <ResourceLink name="jdbc/website" global="jdbc/website" type="javax.sql.DataSource"/>

 </Context>

如果项目不放置在tomcat中,需要做的操作如下:

<?xml version='1.0' encoding='utf-8'?>

<Context displayName="test" docBase="D:/abc/webapps/test " path="/test" workDir="work/Catalina/localhost/test">

  <ResourceLink name="jdbc/website" global="jdbc/website" type="javax.sql.DataSource"/>

 </Context>

这里表示的是访问的工程是:D:/abc/webapps/test不是tomcat的webapps下的内容。

获取数据源类如下:

package com.ucap.survey.utils;

 

import Java.sql.Connection;

 

import javax.naming.Context;

import javax.naming.InitialContext;

import javax.sql.DataSource;


public final class JdbcUtils {

         private static String dataSourceName = null;

         /**

          * 获得数据库连接

          */

         public static Connection getConnection() {

                   try {

                            Context context = new InitialContext();

                            DataSource dataSource = (DataSource) context.lookup("java:comp/env/" + getDataSourceName());

                            return dataSource.getConnection();

                   } catch (Exception e) {

                            e.printStackTrace();

                   }

                   return null;

         }

 

         public static String getDataSourceName() {

                   if (dataSourceName == null) {

                            dataSourceName = GetPropertyFromFileUtil.getProperty2("jdbc.properties", "dataSourceName").trim();

                   }

                   return dataSourceName;

         }

}


dao实现类如下:

public class TestDaoImpl implements TestDao {


         public List<TestBean> findName(String Id) {

                   try { 

                            Connection conn = JdbcUtils.getConnection();

                           

                            String sql =  "select * from test where id=? " ;

                           

                            PreparedStatement ps = conn.prepareStatement(sql);

                            ps.setString(1, id);

                           

                            ResultSet rs = ps.executeQuery();

                           

                            List<TestBean> list = new ArrayList<TestBean>();

                            while (rs.next()) {

                                     TestBean testBean = new TestBean();

                                     String id = rs.getString("id");

                                     testBean.setId(id);

                                     list.add(testBean);

                            }

                           

                            rs.close();

                            ps.close();

                            conn.close();

                           

                            return list;

                   } catch (SQLException e) {

                            throw new DaoException(e);

                   }

         }




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值