论文部分内容阅读
【摘要】介绍了hibernate技术的原理与特性,以及在品种数据库中的设计与应用,展示了hibernate技术的优点,提出了品种對象的逻辑运算假设。
【关键词】Hibernate;品种数据库;对象
Abstract:Introduces the principle and characteristics of Hibernate technology, as well as the design and application of the seed database, display the advantages of Hibernate technology, the seed of object logic hypothesis.
1、引言
近年来,伴随着生物信息技术的研究开展以及品种数字化管理需求的上升,品种数据库的研究与管理越来越显得重要,传统的关系型数据库对于表现相对独立的品种表现尚可,但是对于表达具有遗传、继承、多态(生物多样性)、突变等特性的种子特征则显得无能为力。而最近在java技术领域异军突起的hibernate技术则很完美的解决了这一问题,它的“面向对象”技术特征可以对种子品种的上述生物学特性进行表达,并可以进行抽象的数据逻辑操作。
2、hibernate技术的基本原理与品种的数字表达
2.1hibernate的基本原理
Hibernate是一个轻量级的对象映射框架,它主要技术特点就是把数据库的内容对象化,使得每一条记录都对应一个对象的实例,而数据一旦变成了对象的实例,就自然而然的具备了对象的特征,即继承、多态、封装等。对于种子数据的操作自然就变成了”面向对象”的操作。作为数据对象的种子,具有状态,即对象的数据值。对象还有操作,就是对于对象本身数据值的操作。这样科研人员就可以按照对自然事物的认知习惯来对数据进行操作,而不是按照机器的思维去研究自然事物。利用hibernate框架映射后台数据处理类,把较为复杂的数据库操作都封装在DAO(data access object)中,由DAO提供一些数据访问接口,那么程序员只要调用这些接口,就实现了原本需要复杂的Structured Query Language(结构化查询语言)才能完成的功能。
2.2品种的数字表达
种子品种具有各种各样的性状,以水稻为例,以下为可用浮点数表示性状参数,生育日数、活动积温、株高、穗长等;以逻辑数据类型表示的是否抗倒伏特性;字符串类型的数据如品种名称、配套栽培技术、母本等等。传统的数据库记录方式只是将数据直接存储到数据库中供程序调用,如下所示:
(注:以上数据仅供举例,具体数据可能有差异)
但是,经过hibernate框架的映射处理,这些数据将会被映射为数据对象,由静态数据变成具有多种状态属性及操作的动态数据。
上述数据表格将会被映射成class rice。每个字段都将对应class中的属性,每个相对应的属性都有get和set方法来获得或者修改对象的属性值。这样,水稻就可以抽象为一个class rice,这个抽象的class具有所有水稻的一般特性,那么任何一个水稻品种都是继承于rice这个抽象类,并且变异或者进化出新的特性。
3、基于hibernate技术的品种数据库系统设计
3.1三层结构设计
品种数据库按照其功能划分为表示层,业务逻辑层和数据层。表示层负责与用户进行交互,负责将数据传输到业务逻辑层,并且将服务器处理完的数据回馈到用户。业务逻辑层负责表达程序的主题思想,是核心部分,它负责将用户数据处理后提交到数据层,或者将数据从数据库中提出发送到表示层。数据层负责与数据库打交道,所有与数据库相关的操作都封装在这一层,hibernate主要位于数据层与逻辑层之间,我们利用hibernate创建的DAO(数据访问对象)就位于数据层,里面包含对品种数据库的操作,例如增加、删除、修改、查询等等。
3.2品种数据库应用的关键步骤
3.2.1创建hibernate的配置文件和映射文件
这两个文件可以由集成开发环境自动生成,这里就简单的说一下它们的作用,Hibernate配置文件主要负责与数据库进行连接,其中包含数据库所在服务器的ip端口,用户名和密码,以及应用的数据库方言等等,一般以xml后缀形式存在。映射文件主要的作用就是将数据库中的表与实体类相对应,例如水稻表就对应水稻的class,玉米表就对应玉米的class,该文件一般以hbm后缀存在。
3.2.2获得数据工厂并存储品种数据
sessionFactory=new AnnotationConfiguration().configure().buildSessionFactory();
public static SessionFactory getSessionFactory() {return sessionFactory;}
Session session=HibernateUtil.getSessionFactory().openSession();
tx=session.beginTransaction();
session.save(pinzhong);
tx.commit();
}
3.2.3以dao(数据访问对象)的方式提供数据接口
为了对三层结构中的业务逻辑层提供数据,Hibernate在品种数据访问对象中提供创建和存储接口、品种对象的修改和删除接口、按照品种对象的唯一id查询并获得品种对象的接口、获取全部品种对象的接口。这里面所说的品种对象,就是由在3.2.1中提到的映射文件生成的实体类对象、它们对应着数据库中记载着的品种记录,品种的id用来保证每条记录的唯一性。
3.3设计针对品种遗传特性的逻辑运算
由于数据经由hibernate映射成为了对象,对象具有属性和操作,那么在class的设计中就可以设计加载杂交操作,还是以水稻为例,水稻a,b,c都继承于水稻这个class,水稻c=水稻b.add(水稻a),也就是说水稻c的父本和母本分别是水稻b和水稻c,如果我们在数据库中有父母本显性基因和隐性基因的记录,那么对这两种基因进行“逻辑与运算”,我们就可以根据程序生成指定父母本杂交后代的大致估算结果。
4、结束语
将hibernate框架技术应用到种子品种数据库中,对于由众多参数构成的具有继承变异等生物特性的品种数据,实例证明,具有一定的优势和可行性。将“品种数据表”映射到“品种实体类”使其具有“类对象”功能,对于今后的种子品种研究工作是一个很好的铺垫,具有一定的推广意义。
参考文献
[1]宋汉增,沈琳.利用Hibernate对象持久化服务简化Java数据库访问[J].计算机应用,2003年12期
[2]朱庆伟,吴宇红.一种对象/关系映射框架的分析和应用[J].电子科技,2004年01期
[3]李晓锋,许时雍.水稻品种资源对白叶枯病抗性研究初报[J].安徽农业科学,1980年02期
[4]祝文军.基于Struts框架和Hibernate技术的Web应用的设计与实现[D].大连理工大学,2006年
【关键词】Hibernate;品种数据库;对象
Abstract:Introduces the principle and characteristics of Hibernate technology, as well as the design and application of the seed database, display the advantages of Hibernate technology, the seed of object logic hypothesis.
1、引言
近年来,伴随着生物信息技术的研究开展以及品种数字化管理需求的上升,品种数据库的研究与管理越来越显得重要,传统的关系型数据库对于表现相对独立的品种表现尚可,但是对于表达具有遗传、继承、多态(生物多样性)、突变等特性的种子特征则显得无能为力。而最近在java技术领域异军突起的hibernate技术则很完美的解决了这一问题,它的“面向对象”技术特征可以对种子品种的上述生物学特性进行表达,并可以进行抽象的数据逻辑操作。
2、hibernate技术的基本原理与品种的数字表达
2.1hibernate的基本原理
Hibernate是一个轻量级的对象映射框架,它主要技术特点就是把数据库的内容对象化,使得每一条记录都对应一个对象的实例,而数据一旦变成了对象的实例,就自然而然的具备了对象的特征,即继承、多态、封装等。对于种子数据的操作自然就变成了”面向对象”的操作。作为数据对象的种子,具有状态,即对象的数据值。对象还有操作,就是对于对象本身数据值的操作。这样科研人员就可以按照对自然事物的认知习惯来对数据进行操作,而不是按照机器的思维去研究自然事物。利用hibernate框架映射后台数据处理类,把较为复杂的数据库操作都封装在DAO(data access object)中,由DAO提供一些数据访问接口,那么程序员只要调用这些接口,就实现了原本需要复杂的Structured Query Language(结构化查询语言)才能完成的功能。
2.2品种的数字表达
种子品种具有各种各样的性状,以水稻为例,以下为可用浮点数表示性状参数,生育日数、活动积温、株高、穗长等;以逻辑数据类型表示的是否抗倒伏特性;字符串类型的数据如品种名称、配套栽培技术、母本等等。传统的数据库记录方式只是将数据直接存储到数据库中供程序调用,如下所示:
(注:以上数据仅供举例,具体数据可能有差异)
但是,经过hibernate框架的映射处理,这些数据将会被映射为数据对象,由静态数据变成具有多种状态属性及操作的动态数据。
上述数据表格将会被映射成class rice。每个字段都将对应class中的属性,每个相对应的属性都有get和set方法来获得或者修改对象的属性值。这样,水稻就可以抽象为一个class rice,这个抽象的class具有所有水稻的一般特性,那么任何一个水稻品种都是继承于rice这个抽象类,并且变异或者进化出新的特性。
3、基于hibernate技术的品种数据库系统设计
3.1三层结构设计
品种数据库按照其功能划分为表示层,业务逻辑层和数据层。表示层负责与用户进行交互,负责将数据传输到业务逻辑层,并且将服务器处理完的数据回馈到用户。业务逻辑层负责表达程序的主题思想,是核心部分,它负责将用户数据处理后提交到数据层,或者将数据从数据库中提出发送到表示层。数据层负责与数据库打交道,所有与数据库相关的操作都封装在这一层,hibernate主要位于数据层与逻辑层之间,我们利用hibernate创建的DAO(数据访问对象)就位于数据层,里面包含对品种数据库的操作,例如增加、删除、修改、查询等等。
3.2品种数据库应用的关键步骤
3.2.1创建hibernate的配置文件和映射文件
这两个文件可以由集成开发环境自动生成,这里就简单的说一下它们的作用,Hibernate配置文件主要负责与数据库进行连接,其中包含数据库所在服务器的ip端口,用户名和密码,以及应用的数据库方言等等,一般以xml后缀形式存在。映射文件主要的作用就是将数据库中的表与实体类相对应,例如水稻表就对应水稻的class,玉米表就对应玉米的class,该文件一般以hbm后缀存在。
3.2.2获得数据工厂并存储品种数据
sessionFactory=new AnnotationConfiguration().configure().buildSessionFactory();
public static SessionFactory getSessionFactory() {return sessionFactory;}
Session session=HibernateUtil.getSessionFactory().openSession();
tx=session.beginTransaction();
session.save(pinzhong);
tx.commit();
}
3.2.3以dao(数据访问对象)的方式提供数据接口
为了对三层结构中的业务逻辑层提供数据,Hibernate在品种数据访问对象中提供创建和存储接口、品种对象的修改和删除接口、按照品种对象的唯一id查询并获得品种对象的接口、获取全部品种对象的接口。这里面所说的品种对象,就是由在3.2.1中提到的映射文件生成的实体类对象、它们对应着数据库中记载着的品种记录,品种的id用来保证每条记录的唯一性。
3.3设计针对品种遗传特性的逻辑运算
由于数据经由hibernate映射成为了对象,对象具有属性和操作,那么在class的设计中就可以设计加载杂交操作,还是以水稻为例,水稻a,b,c都继承于水稻这个class,水稻c=水稻b.add(水稻a),也就是说水稻c的父本和母本分别是水稻b和水稻c,如果我们在数据库中有父母本显性基因和隐性基因的记录,那么对这两种基因进行“逻辑与运算”,我们就可以根据程序生成指定父母本杂交后代的大致估算结果。
4、结束语
将hibernate框架技术应用到种子品种数据库中,对于由众多参数构成的具有继承变异等生物特性的品种数据,实例证明,具有一定的优势和可行性。将“品种数据表”映射到“品种实体类”使其具有“类对象”功能,对于今后的种子品种研究工作是一个很好的铺垫,具有一定的推广意义。
参考文献
[1]宋汉增,沈琳.利用Hibernate对象持久化服务简化Java数据库访问[J].计算机应用,2003年12期
[2]朱庆伟,吴宇红.一种对象/关系映射框架的分析和应用[J].电子科技,2004年01期
[3]李晓锋,许时雍.水稻品种资源对白叶枯病抗性研究初报[J].安徽农业科学,1980年02期
[4]祝文军.基于Struts框架和Hibernate技术的Web应用的设计与实现[D].大连理工大学,2006年