简单的seam CRUD

vtrtbb 2008-12-29

首先,配置数据源context.xml 将这个文件放在<catalina_home>的conf目录下,我用的是tomcat6

context.xml  内容如下:

<Resource name="jdbc/BBS" auth="Container"
  type="javax.sql.DataSource"
  driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
  url="jdbc:sqlserver://192.168.1.1:1433;DatabaseName=infodb1"
  username="sa" password="sa" maxActive="4" maxIdle="2"
  maxWait="5000" />

 

在这里,我用的数据库是sql server2005 ,如果改为mysql数据库的话,需要修改driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
换成mysql的数据库驱动。

 

在这里,我用的数据库是sql server2005 ,如果改为mysql数据库的话,需要修改driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
换成mysql的数据库驱动。

 

<?xml version="1.0" encoding="UTF-8"?>
<components xmlns="http://jboss.com/products/seam/components"
 xmlns:core="http://jboss.com/products/seam/core"
 xmlns:persistence="http://jboss.com/products/seam/persistence"
 xmlns:security="http://jboss.com/products/seam/security"
 xmlns:transaction="http://jboss.com/products/seam/transaction"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.1.xsd                   http://jboss.com/products/seam/persistence http://jboss.com/products/seam/persistence-2.1.xsd                   http://jboss.com/products/seam/transaction http://jboss.com/products/seam/transaction-2.1.xsd                   http://jboss.com/products/seam/security http://jboss.com/products/seam/security-2.1.xsd                  http://jboss.com/products/seam/components http://jboss.com/products/seam/components-2.1.xsd http://jboss.com/products/seam/spring http://jboss.com/products/seam/spring-2.1.xsd">
 <core:init debug="false" />
 <core:manager concurrent-request-timeout="500"
  conversation-id-parameter="cid" conversation-timeout="120000" />
 <transaction:entity-transaction entity-manager="#{em}" />
 <persistence:entity-manager-factory name="BBS" />
 <persistence:managed-persistence-context auto-create="true"
  entity-manager-factory="#{BBS}" name="em" />

 <security:identity
  authenticate-method="#{authenticator.authenticate}" />
 <core:pojo-cache
  cfg-resource-name="#{facesContext.externalContext.context.getRealPath('/WEB-INF/cache.xml')}" />
</components>

 

 

注意 <transaction:entity-transaction entity-manager="#{em}" />
 <persistence:entity-manager-factory name="BBS" />
 <persistence:managed-persistence-context auto-create="true"
  entity-manager-factory="#{BBS}" name="em" /> 这几句,其中 <persistence:entity-manager-factory name="BBS" /> 要跟上面的context.xml中的《Resource name="jdbc/BBS" 》一致

接着,我们写一个dao

public interface UserDAO {

      public void saveUser(User user);

}


//实现类
@Name(" UserDAO ")
@AutoCreate

public class UserDAOImpl implements  UserDAO {

     @In
     private EntityManager em; 

     public void saveUser(User user) throws PersistenceException {

               em.persist(user);

      }

}

@In
     private EntityManager em;  之际就注入进来了,不需要在写数数据库连接的东西了。

在faces层:

@In

private UserDAO userDAO;

这样就可以引入DAO进行操作了

 

 

 

bianqioujin 2008-12-29
详细的可以看seam in action
灵灵然 2009-01-13
不敢恭维
Global site tag (gtag.js) - Google Analytics