当前位置:数据库 > SQLServer >>

JBoss + EJB3 + MySql : 开发第一个EJB

JBoss开发Bean并不困难,而对于不知道的人来说,数据库配置才是比较棘手的问题。现在我们就来一步一步开发一个EJB3 + MySql的Bean。

 


一、MySql数据库的配置

1. 配置数据源

在 %JBOSS_HOME%/docs/examples/jca 目录下找到一个名叫 "mysql-db.xml" 的文件,这个是官方为我们写好的针对mysql的数据源配置文件,我们改改它就行了。

将 mysql-db.xml 复制到 /server/default/deploy 目录下,并将文件内容修改为:


[html]
<?xml version="1.0" encoding="UTF-8"?> 
 
<!-- $Id: mysql-ds.xml 41017 2006-02-07 14:26:14Z acoliver $ --> 
<!--  Datasource config for MySQL using 3.0.9 available from: 
http://www.mysql.com/downloads/api-jdbc-stable.html 
--> 
 
<datasources> 
  <local-tx-datasource> 
    <jndi-name>MySqlDS</jndi-name> 
    <connection-url>jdbc:mysql://localhost:3306/ejb</connection-url> 
    <driver-class>com.mysql.jdbc.Driver</driver-class> 
    <user-name>root</user-name> 
    <password>0000</password> 
    <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name> 
    <metadata> 
       <type-mapping>mySQL</type-mapping> 
    </metadata> 
  </local-tx-datasource> 
</datasources> 

<?xml version="1.0" encoding="UTF-8"?>

<!-- $Id: mysql-ds.xml 41017 2006-02-07 14:26:14Z acoliver $ -->
<!--  Datasource config for MySQL using 3.0.9 available from:
http://www.mysql.com/downloads/api-jdbc-stable.html
-->

<datasources>
  <local-tx-datasource>
    <jndi-name>MySqlDS</jndi-name>
    <connection-url>jdbc:mysql://localhost:3306/ejb</connection-url>
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <user-name>root</user-name>
    <password>0000</password>
    <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
    <metadata>
       <type-mapping>mySQL</type-mapping>
    </metadata>
  </local-tx-datasource>
</datasources>
<user-name>是你的mysql数据库用户名,同理<password>是连接密码。

2. 配置persistence.xml

persistence.xml 是 Java Persistence 规范要求我们定义的一个部署描述文件,作用是配置一些基本信息,如EntityManager服务的名称。我们在项目目录的 METAINF/ 目录下创建这个文件:


[html]
<?xml version="1.0" encoding="UTF-8"?>   
<persistence xmlns="http://java.sun.com/xml/ns/persistence"   
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence   
    http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">   
      
 <!-- entity就是EntityManager服务名 --> 
 <persistence-unit name="entity" transaction-type="JTA">   
    <!-- 这里必须跟mysql-db.xml文件中的<jndi-name>一样,即MySqlDs --> 
    <jta-data-source>java:/MySqlDS</jta-data-source>   
    <!-- 以下是hibernate的相关配置,可省略 --> 
    <properties>   
             <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>   
             <property name="hibernate.hbm2ddl.auto" value="update"/>   
             <property name="hibernate.connection.characterEncoding" value="UTF-8" />  
    </properties> 
 </persistence-unit>   
     
</persistence>  

<?xml version="1.0" encoding="UTF-8"?> 
<persistence xmlns="http://java.sun.com/xml/ns/persistence" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence 
    http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0"> 
    
 <!-- entity就是EntityManager服务名 -->
 <persistence-unit name="entity" transaction-type="JTA"> 
  <!-- 这里必须跟mysql-db.xml文件中的<jndi-name>一样,即MySqlDs -->
    <jta-data-source>java:/MySqlDS</jta-data-source> 
    <!-- 以下是hibernate的相关配置,可省略 -->
    <properties> 
             <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/> 
             <property name="hibernate.hbm2ddl.auto" value="update"/> 
             <property name="hibernate.connection.characterEncoding" value="UTF-8" />
    </properties>
 </persistence-unit> 
   
</persistence>

 

至此数据库配置完毕。

 

二、开发Bean

1. 开发Entity Bean

我们创建一个名为 User 的实体Bean, 用来保存一个用户的基本信息,如用户名,密码。


[java] 
package dev.entity; 
 
import java.io.Serializable; 
 
import javax.persistence.Column; 
import javax.persistence.Entity; 
import javax.persistence.Id; 
import javax.persistence.Table; 
 
@Entity 
@Table(name = "DB_USER") 
public class User implements Serializable { 
    @Id 
    @Column(name = "C_ID") 
    private int id; 
    @Column(name = "C_NAME") 
    private String name; 
    @Column(name = "C_PASSWORD") 
    private String pwd; 
     
    //get() and set()  

package dev.entity;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import ja

补充:软件开发 , Java ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,