单映射实体bean的课堂笔记

来源:互联网 发布:在linux上安装输入法 编辑:程序博客网 时间:2024/05/22 01:35

jboss连接它的数据源,首先要找到它的配置文件。就要在2。jboss中数据源的配置模版:C:/jboss-4.2.3.GA/docs/examples/jca;。中找到它的配置模板。
然后进行修改生成自己的数据源的配置文件,这个配置文件的名字必须是以-ds后缀,如MySql-ds.xml
接下来就是要进行数据源的发布,如何进行发布呢?
首先要对数据驱动拷贝。C:/jboss-4.2.3.GA/server/default/lib然后重启JBOSS
最后把数据源的配置文件拷贝到C:/jboss-4.2.3.GA/server/default/deploy文件夹之下就完成了数据源的配置工作。
Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=hushiyangDS' to JNDI name 'java:hushiyangDS'
接下来要讲的是实体BEAN 它实际上是JPA技术。这样它就要处理以下文件。persistence.xml
<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">
</persistence>
persistence.xml这个文件是保存在原数据信息(meta-inf)这个文件夹中的。
在会话Bean中对实体Bean进行增删改查这时候我们就要用来实体bean的管理器。我们一般是要通过@PersistenceContext(unitName="hushiyang") EntityManager em这个注解进行注入。
注意到我们在这个持久化的上下文中有一个unitName属性,这个属性的值就是 我们在persistence.xml中的的persistence-unit这个的名字。
在persistence.xml这个文件中如果存在有两个以上的持久化单元的时候,这个时候就必段要指定这单元名称,如果只有一个持久化单元的话,那么可以不写这个单元名称,它就默认为那个唯一的名称。
实体bean的几个状态:新生状态,托管状态,游离状态,删除状态。
托管状态就是跟一个事务相连,
新生状态就是能向数据中加入数据。这个时候可以插入数据。
游离状态就是没有跟任一个事务关联,等候使用的。这个时候可以对数据进行更改。
em.getReference();返回一个代量方法。 只有在要返回属性值的时候才可能会发生数据的加载行为。会认为它是一个懒加载。它返回的是一个代理对象。
em.find();
在实体Bean中必须有一个无参数的构造函数。
在Junit中进行测试最大的方便之外在于它不用有main方法就可以运动函数。
对数据库中的表操作有两种可能,一种是这个表已经存在了,所以我们要做的是对这个表进行增删改查,二个是这个表根本就不存在,我们要生成一个表来,然后再对其进行操作。对于这种情况我们该怎么去做呢?
关于注解:
这里所说的注解是实体bean内的注解,这个实体类映射为数据库中的一个表。
@Entity
//通过这种注解的方式将这个类注解为一个EJB的实体Bean.
@Table(name="Person")
//通过这种注解让这个类和数据库中的某个数据库上对应,name后面的值就是所对应数据库的名称。
@Id @Column(name="id")@GeneratedValue(strategy=GenerationType.AUTO)
 //指出这个属性是这个实体类中的ID属性,指出这个属性和数据库中的id 列对应,指出这个属性的id值是采用数据库自增长方式。
 //这些属性的标注只能标注在get()方法的上面,而不对标注在set方法的上面。
 //而而这些注解还可以标注在字段的上面。如果已经把注解放到了字段上面了就不能再把注解放在了方法上面了。
@Column(name="name",length=20,nullable=false)
 //说明这个name属性对应于数据库上的name字段,并且说明它的长度是20,它不能为空。

 

它是如果将mysql数据库中的数据连到这个程序中去。
首先我们把数据库的驱动复制到C:/jboss-4.2.3.GA/server/default/lib中去。
它先在mysql中把数据库建好,然后再发布好数据库配置文件。在这个配置文件中,我们已经把那驱动用户名之类的东西都配好了。最后再在persistence.xml这个文件中调用好这个数据库的jndi名