去年毕业的,在以前公司工作的时候
用的各种框架,太混乱了
数据源是也是直接配置的
来到新公司,有点东西先记下来
写项目的时候测试的时候用的tomcat,数据源可以配置在tomcat的service.xml ,context.xml中
还有一种可以直接配置在web项目中,在META-INF下新建context .xml,在里面配置如下:
-------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<Context debug="0"
path="/sinoiaca"
reload="true">
<Resource name="DataSource"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.ibm.db2.jcc.DB2Driver"
url="jdbc:db2://192.168.1.32:50000/iaca_kf"
username="instiaci"
password="password"
maxIdle="30"
maxWait="10000"
maxActive="100"/>
</Context>
另外在项目下的web.xml中配置如下:
---------------------------------------------------------
<resource-ref id="ResourceRef_20090831">
<description></description>
<res-ref-name>SinoiacaDataSource</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Application</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
当发布到tomcat的时候,tomcat会自动加载数据源
而当发布到was的时候,公司使用的在dbmanager-config.xml中配置JNDI,
而在was上配置JNDI以及数据源,在AppConst中配置SINOIACA_DATASOURCE_JNDI;底层的访问都已经封装,在程序启动的时候就会初始化这些参数,在查询数据库的时使用:dbManager.open(AppConst.SINOIACA_DATASOURCE_JNDI);连接数据库
当打成war包发布到was上即可使用,部分配置如下:
.xml:
--------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<datasource-defines>
<datasource-define>
<name>sinoiacaDataSource</name>
<jndiname>java:comp/env/SinoiacaDataSource</jndiname>
<db-to-server-encode-charset>GBK</db-to-server-encode-charset>
<db-to-server-decode-charset>GBK</db-to-server-decode-charset>
<need-convert-from-db-to-server>false</need-convert-from-db-to-server>
<server-to-db-encode-charset>GBK</server-to-db-encode-charset>
<server-to-db-decode-charset>GBK</server-to-db-decode-charset>
<need-convert-from-server-to-db>true</need-convert-from-server-to-db>
<description>visa datasource define.if encode equals decode ,the need convert will auto set false </description>
</datasource-define>
</datasource-defines>