codecamp

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了。

2.2.发送消息
2.3.1. 使用HibernateDao
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }