S2dao的URL:http://s2dao.seasar.org/ja/index.html
在ダウンロード的下载方面。选择S2Dao 1.0.51 (S2Dao Tigerを含みます)这一项目下载。
解压它
我们可以看到如下文件夹。其中我们有用的很少。根据相关的文件命名我们也可清楚知道各个文件夹存放什么东西。LIB文件夹是所需要的包。dao.dicon文件和j2ee.dicon文件及log4j.properties文件这是我们需要的三个文件,请放到项目src的下面。
同时请修改j2ee.dicon里面的连接数据信息。如下是ORACLE的信息
<component name="xaDataSource"
class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
<property name="driverClassName">
"oracle.jdbc.driver.OracleDriver"
</property>
<property name="URL">
"jdbc:oracle:thin:@xxx.xxx.x.xxx:1521:xxxx"
</property>
<property name="user">"xxxx"</property>
<property name="password">"xxxx"</property>
<initMethod name="addProperty">
<arg>"includeSynonyms"</arg>
<arg>"true"</arg>
</initMethod>
</component>
我用的是ECLIPSE的开发工具。下面是实体BEAN
package co.jp.dao.bean;
public class Comment {
public static final String TABLE = "INFO";
private int id;
private String title;
private String content;
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
我们可以看到实体BEAN就是一个类对象。只是类里面有一些固定的写法如下
public static final String TABLE = "INFO";
这里是告诉这个类相对应数据表名。接着就是数据库的操作类如下就是了。只是你看到的时候可能会觉得这设计者也太懒了吧。只要一个接口类就OK了。
package co.jp.dao.inf;
import java.util.List;
import co.jp.dao.bean.Comment;
public interface CommentDao {
public static final Class<Comment> BEAN = Comment.class;
public static final String select_ARGS = "title,content";
public static final String getCoutSelect_ARGS = "title";
public List<Comment> select(String title,String content);
public int getCountSelect(String title);
public int update(Comment cd);
public int insert(Comment cd);
public int delete(Comment cd);
public List getAllCds();
}
这里也有相关的固定写法。如下
public static final Class<Comment> BEAN = Comment.class;
public static final String select_ARGS = "title,content";
public static final String getCoutSelect_ARGS = "title";
Class<Comment> BEAN是告诉操作类要操作哪一个实体类。
xxxxx_ARGS是表示xxxxx方法相对的相关SQL参数。也就是当你调用这个方法的时候s2dao会去调用相关的sql文件。我们把相的SQL语句写在SQL文件里面。
看一下这个文件就知道了。如下
CommentDao_getCountSelect.sql文件
select count(id) from INFO where title like /*title*/
CommentDao_select.sql文件
select id,title,content from INFO where title like /*title*/ and content like /*content*/
同时你还在dao.dicon文件后面加上如下代码
<component name="CDao" class="co.jp.dao.inf.CommentDao">
<aspect>interceptor</aspect>
</component>
从上面来看的话,你会觉得很像spring是吧。其实他们的思想是一样子的。
就是这么简单。希望对大家有帮助