- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
jdbc玩出hibernate的感觉
用jdbc也能玩出Hibernate的感觉jdbc.rar为源码)
近期完成一个项目,持久层依旧采用jdbc,因为公司的技术比较落后,项目也不大?采用框架的话,其他同事的要花费时间来学习,成本比较大,但jdbc大量的重复代码,有的时候真的崩溃?apache的开源框架db_util 也用过,感觉不是很顺手?想想算了,自己封装一层,简单的以操作对象的形式完成数据库的调用,这样会节省开发时间?下面说一下基本思路?1.定义简单的配置文件 jdbc.hbm.xml,里面仅仅给出每一个实体类中主键的生成方式,自增的还是手动配置的?
Java代码?
?xml?version=1.0?encoding=UTF-8???
jdbc-mapping??
????!--?定义实体类路径?--??
????class?name=com.uniits.privilege.dao.entity.GroupEntity???
????????!--?实体中对应表中的主键,及数据类型?--??
????????id?name=groupId?type=int??
????????????!--?主键生成方式?,其中assigned?为手动配置,identity为数据库自增长?--??
????????????generator?class=identity?/??
????????/id??
????/class??
????class?name=com.uniits.privilege.dao.entity.UserEntity???
????????id?name=userId?type=int??
????????????generator?class=identity?/??
????????/id??
????/class??
????class?name=com.uniits.privilege.dao.entity.FunctionEntity???
????????id?name=functionId?type=int??
????????????generator?class=identity?/??
????????/id??
????/class??
/jdbc-mapping??
2.在项目启动时,加载所有的实体类并与配置文件jdbc.hbm.xml进行比对,判断jdbc.hbm.xml中定义的 类、属性、类型在每一个实体类中是否存在?
Java代码?
???????private?static?final?Log?log?=?LogFactory.getLog(ValidConfig.class);??
??
private?static?final?String?ELEMENT_NODE_CLASS?=?class;??
??
private?static?final?String?ELEMENT_NODE_ID?=?id;??
??
private?static?final?String?ELEMENT_ATTR_NAME?=?name;??
??
private?static?final?String?ELEMENT_ATTR_PRIMITIVE?=?type;??
??
private?static?final?String?ELEMENT_NODE_GENERATOR?=?generator;??
??
private?static?final?String?ELEMENT_ATTR_GENERATOR?=?class;??
??
private?ValidConfig(){??
??????
}??
??
/**?
?*?加在jdbc.hbm.xml配置文件并解析?
?*??
?*?@throws?AppException?
?*/??
public?static?void?loadXml(String?path)?throws?AppException?{??
????//?加在XML所在路径??
????XMLFactory?factory?=?XMLFactory.getInstance(path);??
????//?获取根元素下的子节点??
????Element?rootElement?=?factory.getRootElement();??
????//?获取节点集合??
????ListElement?eles?=?rootElement.elements(ELEMENT_NODE_CLASS);??
????try?{??
????????iteratorNodes(eles);??
????}?catch?(Exception?e)?{??
????????throw?new?A
文档评论(0)