做软件开发,那是离不了数据库,平时,总是那么的不经意,但真配置起来还是有些小麻烦的!
首先,数据源jndi的查询是有顺序的,tomcat在启动的时候首先查找的是tomcat/conf下面,如果有context.xml格式如下
(也可以称为全局数据源)即部署好的任何应用程序都可用此JNDI名称连接数据库
<!--oracle数据库如下-->
--------------------------------------------------------
<Context>
<Resource name="jdbc/oracle" auth="Container" type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@192.168.1.1:1521:数据库名" username="用户名" password="密码" maxActive="100" //最大连接数 maxIdle="30" //空闲连接数量 maxWait="100000" /> //最大等待时间 </Context>
----------------SQLServer2005数据库---------------------------
<Context>
<!--SQL2000 driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" -->
<!--SQL2000 url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=test" --> <Resource name="jdbc/sqlserver" auth="Container" type="javax.sql.DataSource" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=数据库名;selectMethod=cursor" username="sa" password="111111" maxActive="100" maxIdle="30" maxWait="100000" /> </Context> ------------------------
如果在conf下能够找到相对应的JNDI的名称,则用此JNDI,如果找不到,则会去conf\Catalina\localhost下面找,(注意此目录下的xml文件要和工程名相同,即工程名.xml)
xml文件内容和上面相同。如果此时还没有,则会到tomcat下webapps\项目名称\META-INF下面找context.xml的配置。
-----------JNDI调用---------------
javax.naming.InitialContext context=new InitialContext();
javax.sql.DataSource ds=(DataSource)context.lookup("java:comp/env/jdbc/sqlserver"); java.sql.Connection con=ds.getConnection(); --------
暂时先写到这里,至于c3p0,dbcp配置到时再加上。
|
|