EJB3.0容器内外调用总结

1、Entity与表关联(注解)以用户和联系人为例(一对多关系)
 A、联系人实体
  @Entity
  @Table(name = "TLInkMan")
  public class LinkMan implements Serializable {
   private static final long serialVersionUID = -2234837746464950325L;
   //联系人ID表中设定为char(32)类型,需导入hibernate相关包
   @Id
   @Column(name = "linkman_id")
   @GenericGenerator(name = "linkManIdGenerator", strategy = "uuid")
   @GeneratedValue(generator = "linkManIdGenerator")
   private String linkManId;
   @Column(name = "linkman_name")
   private String linkManName;
   @ManyToOne
   @JoinColumn(name = "user_id")
   private User user;
   ......
  }
 B、用户实体
  @Entity
  @Table(name = "TUser")
  public class User implements Serializable {
   @Id
   @Column(name="user_id")
   @GenericGenerator(name = "userIdGenerator", strategy = "uuid")
   @GeneratedValue(generator="userIdGenerator")
   private String userId;
   @OneToMany(cascade=CascadeType.REMOVE)//容许级联删除
   private Set<LinkMan> linkMen;
   ......
  }
2、接口和实现类头注解
 A、接口
  @Remote//远程或者Local本地;
  public interface LinkManService
 B、实现类
  @Stateless//无状态或者Stateful有状态;
  public class LinkManBean implements LinkManService
3、在persistent.xml文件中描述全部数据库信息,容器内调用
 A、persistent.xml文件中描述:
  <?xml version="1.0" encoding="UTF-8" ?>
  <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" xmlns="http://java.sun.com/xml/ns/persistence">
  <persistence-unit name="持久化单元名称">
   <provider>org.hibernate.ejb.HibernatePersistence</provider>
   <properties>
    <property name="hibernate.show_sql" value="true" />
    <property name="hibernate.connection.driver_class" value="数据库驱动" />
    <property name="hibernate.connection.url" value="数据库连接字符串" />
    <property name="hibernate.connection.username" value="用户名" />
    <property name="hibernate.connection.password" value="密码" />
    <property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect" />
   </properties>
  </persistence-unit>
  </persistence>
 B、serviceImpl业务接口实现类中:
  public  void operat() {
   //创建一个实体管理工厂
   EntityManagerFactory emf = Persistence
     .createEntityManagerFactory("持久化单元名称");
   //创建一个实体管理对象
   EntityManager em = emf.createEntityManager();
   //创建一个事务
   EntityTransaction transaction = em.getTransaction();
   //开始事务
   transaction.begin();
   em.persist(实体);
   em.createQuery(查询) 
   //提交事务
   transaction.commit();

  }
4、在jboss中配置好mssql-ds.xml(以sqlserver2005为例)数据源,容器外调用
 A、mssql-ds.xml配置:
  <datasources>
    <local-tx-datasource>
      <jndi-name>数据源</jndi-name>
      <connection-url>jdbc:sqlserver://localhost:1433;DatabaseName=数据库名</connection-url>
      <driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>
      <user-name>x</user-name>
      <password>y</password>     
        <metadata>
    <type-mapping>MS SQLSERVER2005</type-mapping>
        </metadata>
    </local-tx-datasource>

  </datasources>
 B、persistent.xml文件中描述:
  <?xml version="1.0" encoding="UTF-8" ?>
  <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" xmlns="http://java.sun.com/xml/ns/persistence">
  <persistence-unit name="持久化单元名称"> 
   <provider>org.hibernate.ejb.HibernatePersistence</provider>
   <jta-data-source>java:数据源</jta-data-source>
   <properties>
    <property name="hibernate.show_sql" value="true" />
    <property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect" />
   </properties>
  </persistence-unit>
  </persistence>
 C、serviceImpl业务接口实现类中:
  @PersistenceContext
  private EntityManager em; //定义一个实体管理对象
  public  void operat() {
   em.persist(实体);
  }
 D、外部访问:
  Properties props = new Properties();
  props.setProperty("java.naming.factory.initial",
    "org.jnp.interfaces.NamingContextFactory");
  props.setProperty("java.naming.provider.url", "localhost:1099");
  props.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming");
  InitialContext ctx;
  try {
   ctx = new InitialContext(props);
   //Interface ----业务接口
   Interface objectInterface = (Interface) ctx
     .lookup("接口实现类名/remote");//remote或local
   objectInterface.operat();

  } catch (NamingException e) {
   e.printStackTrace();
  }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值