下载S2StrutsBlank-V1.3.1.zip
1. deptDao.java
package seasar.test.dao;
import java.util.List;
import seasar.test.dto.deptDto;
public interface deptDao {
public static final Class BEAN = deptDto.class;
public List<deptDto> getDeptList(String deptno);
}
2. deptDao_getDeptList.sql
SELECT deptno, dname FROM DEPT where deptno=/*deptno*/'124'
3. deptDto.java
package seasar.test.dto;
public class deptDto {
public static final String TABLE = "DEPT";
public String deptno;
public String dname;
}
4. dept.dicon
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container//EN"
"http://www.seasar.org/dtd/components.dtd">
<components>
<include path="dao.dicon"/>
<!--
<component class="seasar.test.dao.deptDao">
<aspect>dao.interceptor</aspect>
</component>
-->
<!--
<component name="traceInterceptor"
class="org.seasar.framework.aop.interceptors.TraceInterceptor"/>
-->
<component
class="org.seasar.framework.container.autoregister.FileSystemComponentAutoRegister">
<property name="autoNaming">
<component class="org.seasar.framework.container.autoregister.DefaultAutoNaming"/>
</property>
<initMethod name="addClassPattern">
<arg>"seasar.test.dao"</arg>
<arg>".*Dao"</arg>
</initMethod>
</component>
<component class="org.seasar.framework.container.autoregister.AspectAutoRegister">
<!--
<property name="interceptor">traceInterceptor, dao.interceptor</property>
dao.interceptor一定要加上,貌似是将dao的方法和对应的sql联系起来的
-->
<property name="interceptor">dao.interceptor</property>
<initMethod name="addClassPattern">
<arg>"seasar.test.dao"</arg>
<arg>".*Dao"</arg>
</initMethod>
</component>
</components>
5. jdbc.dicon
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//SEASAR2.1//DTD S2Container//EN"
"http://www.seasar.org/dtd/components21.dtd">
<components namespace="jdbc">
<include path="jta.dicon"/>
<!-- 全DBMS対応のページング処理用設定 -->
<component
name="resultSetFactory"
class="org.seasar.dao.pager.PagerResultSetFactoryWrapper">
<arg>
<component class="org.seasar.extension.jdbc.impl.BasicResultSetFactory"/>
</arg>
<property name="useScrollCursor">true</property>
</component>
<component class="org.seasar.extension.jdbc.impl.ConfigurableStatementFactory">
<arg>
<component class="org.seasar.dao.pager.PagerStatementFactory"/>
</arg>
<property name="fetchSize">100</property>
<!--
<property name="maxRows">100</property>
-->
</component>
<!-- for HSQLDB -->
<!--
<component name="xaDataSource"
class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
<property name="driverClassName">
"org.hsqldb.jdbcDriver"
</property>
<property name="URL">
"jdbc:hsqldb:file:"
+ @org.seasar.framework.util.ResourceUtil@getBuildDir('app.dicon').getCanonicalPath()
+ "/data/demo"
</property>
<property name="user">"sa"</property>
<property name="password">""</property>
</component>
-->
<component name="xaDataSource" class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
<property name="driverClassName">"oracle.jdbc.driver.OracleDriver"</property>
<property name="URL">"jdbc:oracle:thin:@123.123.123.123:1521:DBname"</property>
<property name="user">"user01"</property>
<property name="password">"user01"</property>
</component>
<component name="connectionPool"
class="org.seasar.extension.dbcp.impl.ConnectionPoolImpl">
<property name="timeout">600</property>
<property name="maxPoolSize">10</property>
<property name="allowLocalTx">true</property>
<destroyMethod name="close"/>
</component>
<component name="DataSource"
class="org.seasar.extension.dbcp.impl.DataSourceImpl"
/>
</components>
6. test.java
package test.main;
import java.util.List;
import org.seasar.framework.container.S2Container;
import org.seasar.framework.container.factory.S2ContainerFactory;
import seasar.test.dao.deptDao;
import seasar.test.dao.shainDao;
import seasar.test.dto.deptDto;
import seasar.test.dto.shainDto;
public class test {
public static void main(String args[]){
S2Container container =
S2ContainerFactory.create("dept.dicon");
container.init();
deptDao dao = (deptDao)
container.getComponent(deptDao.class);
List<deptDto> list = dao.getDeptList("123");
for(deptDto dto : list){
System.out.println(dto.deptno);
System.out.println(dto.dname);
}
shainDao dao2 = (shainDao)
container.getComponent(shainDao.class);
List<shainDto> list2 = dao2.getShainList("280025");
for(shainDto dto : list2){
System.out.println(dto.shainNm);
}
}
}