BDF2的ORM模块为了方便大家实现数据持久化与数据的查询,提供了基于Hibernate与JDBC的两种类型的DAO,这两种类型的DAO与Dorado7的View组件紧密融合,可以快速实现有关数据的各种需求的查询和持久化动作。在正式介绍如何使用这两种类型的DAO之前,需要先做些准备工作。步骤如下:
1. 前期准备
1.1. 创建BDF2项目
通过BDF2在线项目创建向导以maven的方式创建一个标准的BDF2项目,修改项目名称为bdf2-orm-demo。注意需要添加bdf2-core模块。将创建好的项目导入到eclipse中。
1.2. 测试新建项目
成功导入到eclipse后,我们就可以运行该项目,如果运行成功,说明该bdf2项目搭建成功。
1.3. 创建所需实体类
创建实体类和对应的包:DemoUser和com.bstek.demo.model,将DemoUser类放到com.bstek.demo.model这个包下。DemoUser实体类包含如下属性:username、male、birthday、mobile、address和email。
@Entity @Table(name="DEMO_USER") public class DemoUser { @Id @Column(name="USERNAME_",length=60) private String username; @Column(name="MALE_",nullable=false) private boolean male=true; @Column(name="BIRTHDAY_") private Date birthday; @Column(name="MOBILE_",length=20) private String mobile; @Column(name="ADDRESS_",length=120) private String address; @Column(name="EMAIL_",length=60) private String email; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public boolean isMale() { return male; } public void setMale(boolean male) { this.male = male; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public String getMobile() { return mobile; } public void setMobile(String mobile) { this.mobile = mobile; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } }
1.4. 将DemoUser类映射到数据库中对应的表
在这个例子里,使用hibernate注解来实现将POJO映射到数据库中的表,将DemoUser实体类配置到hibernate环境中,首先,在dorado-home文件夹下找到datasources.xml文件,打开该文件,找到id为sessionFactary的bean节点,在此节点添加一个name为packagesToScan属性节点property,并给该属性添加一个集合类型的值。代码如下:
<bean id="sessionFactory" parent="bdf2.sessionFactory"> <property name="dataSourceName" value="hsql" /> <property name="entityInterceptor" ref="bdf2.unByteCodeProxyInterceptor" /> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.HSQLDialect</prop> <prop key="hibernate.show_sql">false</prop> <prop key="hibernate.hbm2ddl.auto">update</prop> </props> </property> <property name="packagesToScan"> <list> <value>com/bstek/demo/model</value> </list> </property> </bean>
以上工作完成之后,就可以开始学习DAO的使用了。