前一阵子同事让看一个数据库连接的问题,说是弄了好久了都不成功,不知道问题出在哪里。我想着不就是连接数据库嘛,一个JDBC能有多难,过去一看,用的DataSource、Context.lookup,没见过这种的,,就顿时傻眼了。于是先用常规的JDBC连接方式解决他现在的问题,事后自己来琢磨这个什么鬼。
百度了一下这个东东,说的都是跟jndi有关系,本人不懂JNDI,也没深入研究这个,只是把这种数据库的连接方式整明白了,这里记录下做个备注。
1、在容器中添加配置:
从所谓的Context上下文应该就能看出来,这种方式依赖容器,必须得把项目发到到服务器上才能用。所以第一步就是在容易中进行相应配置啦。我这里用的是Tomcat6.0。
打开tomcat的conf/context.xml文件,在Context标签内添加如下代码:
<Resource name="jdbc/sqlconnpool"
auth="wjl"
type="javax.sql.DataSource"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://127.0.0.1:1433;databaseName=test"
username="sa"
password="sa"
maxActive="100"
maxIdle="30"
maxWait="10000"/>
要修改的地方有以下几个:
a、name:这个可以随便写,但是一定要记住,后面有地方要用;
b、driverClassName:驱动信息,根据要连接的数据库写就好,我这里连接的是SQL Server
c、url:数据库连接,主要填数据库所在的IP地址、端口号和连接的数据库名称
d、username:登陆数据库的用户名
e、password:登陆数据库的密码
(PS:跟Hibernate、spring中的配置超像)
2、在web.xml中添加配置:
<resource-ref>
<description>DB Connection Pool</description>
<res-ref-name>jdbc/sqlconnpool</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>wjl</res-auth>
</resource-ref>
修改的点:
a、res-ref-name:必须与容器中的name属性相同
b、res-type:javax.sql.DataSource,必须填这个
c、res-auth:最好与与容器中的相同
至于description,随便填。
3、添加测试:
这个测试与一般的JDBC数据库连接测试不一样,不能直接用main方法测试,得发布项目,通过项目进行访问。我本地用的是Servlet:
try { Context ctx = new InitialContext(); Context envContext = (Context) ctx.lookup("java:/comp/env"); DataSource ds = (DataSource) envContext.lookup("jdbc/sqlconnpool");//与context.xml中的name相同、与web.xml中的res-ref-name相同 Connection conn = ds.getConnection(); System.out.println(conn); conn.close(); } catch (NamingException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); }
至此,使用DataSource连接数据完成。
相关推荐
在MyEclipse中进行Java项目开发时,连接SQL Server数据库是一项基本操作,这对于构建数据驱动的应用程序至关...通过对这个源码的分析和实践,你将更好地理解如何在MyEclipse中使用Java Project连接SQL Server数据库。
在Java应用程序中连接到SQL Server数据库是一项常见的需求。这不仅可以增强程序的功能性,还可以实现数据的持久化存储。本文将详细介绍两种常用的方法来建立这种连接:通过Microsoft JDBC驱动和JTDS JDBC驱动。 ###...
在Java开发中,连接SQL Server数据库是一项基础且重要的技能。本文将详细介绍如何使用Java代码来连接SQL Server 2005(以及其他版本)数据库,并解释代码中的关键部分,帮助开发者更好地理解和掌握这一技术。 #### ...
在这个场景中,"java web连接sql server数据库的jar包"提供了必要的驱动文件,即sqljdbc.jar和sqljdbc4.jar。 这两个jar文件是Microsoft SQL Server JDBC驱动的不同版本。JDBC(Java Database Connectivity)是Java...
在Java应用程序中,通过MyBatis连接SQL Server数据库是一项常见的任务,这涉及到配置、驱动管理、数据库连接以及执行SQL语句等多个环节。下面我们将详细探讨这个过程。 1. **MyBatis基本概念** - MyBatis的核心是...
在本示例中,我们将探讨如何使用MyBatis通过JDBC连接到SQL Server数据库,并进一步学习如何利用MyBatis的动态代理机制生成Mapper接口的实现。 首先,我们需要在项目中引入MyBatis和SQL Server的JDBC驱动依赖。通常...
MyBatis是一个流行的Java持久层框架,它简化了与数据库之间的交互,允许开发者将SQL查询直接集成到Java代码中。本教程将引导你通过JDBC...记得在运行代码之前,确保数据库中存在`User`表,并且表结构与你的查询匹配。
Spring-Boot通过druid连接池获取连接操作SQLServer数据库 总结:【共3步】 第1步:添加druid和MSSQL Driver的依赖项; 第2步:配置连接字符串; 第3步:创建数据库操作类,使用@Bean注入DruidDataSource, 然后根据...
在使用Druid与SQL Server数据库配合时,需要注意以下几点: 1. **驱动兼容性**:确保你的项目中引入了与SQL Server版本匹配的JDBC驱动,如mssql-jdbc。 2. **配置Druid**:在Spring的配置文件中,你需要定义Druid...
在开发企业级应用程序时,有时需要连接到多个数据库来实现数据隔离或满足不同的业务需求。在这种情况下,"SpringBoot整合Mybatis连接SQL Server 双数据源配置" 是一个常见的技术实践。Spring Boot以其简洁的配置和...
- 考虑使用连接池管理器,如C3P0或HikariCP,以提高性能和资源利用率。 - 避免在代码中硬编码数据库连接信息,可以使用环境变量或配置文件来存储敏感信息。 - 定期更新JDBC驱动,以获取最新的安全修复和功能改进...
使用Tomcat通过JNDI方式连接SqlServer数据库 在本文中,我们将介绍如何使用Tomcat通过JNDI方式连接SqlServer数据库。JNDI(Java Naming and Directory Interface)是一种Java API,用于访问命名和目录服务。在...
在Java编程中,连接SQL Server 2000数据库通常涉及到使用JDBC(Java Database Connectivity)驱动程序。这里我们将详细探讨如何使用特定的jar包——msbase.jar、mssqlserver.jar和msutil.jar来实现这一目标。这些jar...
然后,使用连接池提供的DataSource代替直接使用DriverManager。例如,对于C3P0,可以创建` ComboPooledDataSource `实例并设置相应属性,然后使用`getConnection()`方法获取连接。使用完毕后,调用`close()`方法不是...
使用SqlServer数据库连接驱动时,需要确保以下几点: 1. **环境配置**: 确保系统已安装Java运行环境(JRE),并将sqljdbc4.jar添加到项目的类路径中,以便运行时能找到驱动。 2. **连接字符串**: 创建数据库连接时...
spring.datasource.url=jdbc:sqlserver://localhost:1433;databaseName=database1 spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=...
在Java编程环境中,连接SQL Server 2008数据库通常需要特定...总之,为了在Java中连接SQL Server 2008,你需要合适的JDBC驱动JAR文件,并正确配置你的项目以使用这些驱动,从而能够执行SQL查询、事务管理和数据库操作。
### 润乾连接Sqlserver2000数据库的知识点详解 #### 一、背景介绍与需求概述 在实际工作中,我们经常会遇到需要更改现有系统所使用的数据库类型的情况。例如,从MySQL数据库切换到SQL Server 2000。本文档主要介绍...