2.3.使用DAO
在BDF2的ORM模块当中,为了方便大家实现数据持久化与数据的查询,我们提供了基于Hibernate与JDBC的两种类型的DAO,这两种类型的DAO与Dorado7的View组件紧密融合,可快速实现针对数据的各种类型的查询与持久化动作。在正式介绍如何使用这两种类型的DAO之前,我们需要先做些准备工作,主要创建一个工程,准备好与数据库的连接等。准备内容及步骤如下:
1.前期准备
1.1.步骤一
通过BDF2在线项目创建向导以maven的方式创建一个标准的BDF2项目。创建项目时,注意要添加bdf2-core模块。接下来,将创建好的项目导入到eclipse中。项目名称任意命名,我暂且命名为bdf2-orm-demo。
1.2.步骤二
成功导入到eclipse后,我们就可以运行该项目,如果运行成功后,说明我们成功搭建了我们的bdf2项目。
1.3.步骤三
接下来,创建我们的实体模型类和对应的包:DemoUser和com.bstek.demo.model,将DemoUser类放到com.bstek.demo.model这个包下。DemoUser实体模型类包含如下属性:username、male、birthday、mobile、address和email。
//DemoUser类源码 @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.步骤四
在这个例子里,我们使用hibernate注解来实现将POJO映射到数据库,接下来,我们将上面的DemoUser实体类配置到hibernate环境中。首先,在dorado-home文件夹下找到datasources.xml文件,打开该文件,找到id为sessionFactary的bean节点,在此节点添加一个name为packagesToScan属性节点property,并给该属性添加一个集合类型的值。添加完后结果如下:
datasources.xml部分配置源码
<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了。