LegendDao数据库持久层系统

简介 | Intro

LegendDao实现了JPA的基本接口 , 是spring jdbcTemplate增强工具包, 只做增强不做改变,简化CRUD操作 。

持久层框架LegendDao是一个基于Java和Spring 的jdbcTemplate的持久层框架。支持类似Hibernate方式的单表映射功能和采用SQL方式来处理多表关联的查询和插入删除更新等功能,消除了大部分的JDBC代码和参数的手工设置以及结果集的检索。由于使用了jdbctemplate, 事务天然是采用是采用Spring自带的事务。

每个数据库连接都对应一个entityFactory,包括对jdbcTemplate的引用和数据库方言dialect的引用,方言支持MySQL,Oracle等数据库。LegendDao最强大的特性之一就是它的动态语句功能,在后台列表中往往需要根据不同的条件来筛选数据,普通的SQL需要大量的if else去组装SQL,legendDao提供一个Map来动态组装出不同的数据,而且支持运行时动态改变SQL。同时LegendDao支持采用反射和字节码增强的方式来由ResultSet来组装最后要的实体类。

优点 | Advantages

  1. 无侵入,操作方便 : LegendDao实现了JPA的基本接口,底层实现是用spring jdbcTemplate实现天然跟spring集成到一起;
  2. 依赖少 :仅仅依赖 spring 事务包和spring jdbc等spring核心包;
  3. 损耗小:启动即会自动注入基本CURD,性能基本无损耗,直接面向对象操作;
  4. 通用CRUD操作 : 实现Hibernate/JPA方式的CRUD,支持JPA方式的注解方式,仅仅通过少量配置即可实现单表大部分 CRUD 操作;
  5. 多种主键策略:支持多达4种主键策略(内含分布式唯一ID生成器Table Sequence),可自由配置,完美解决主键问题;
  6. 支持代码生成:采用代码可快速生成 Dao、 Model 、 Service 、 Controller 层代码,支持模板引擎;
  7. 内置分页插件: 支持MySQL、Oracle、SQL Server等数据库;
  8. 支持动态SQL: 可以把SQL定义到XML文件中,通过有限状态机模式把最终的sql解析出来。
  9. 支持系统一级缓存: 一级缓存是采用在事务级别实现的,也可以接入外部二级缓存。
  10. 支持数据库读写分离: 可以设置多个数据源并实现读写分离。

关键接口

LegendDao封装了基本的JPA接口,但是基本接口不满足需求的情况下,也可以直接使用spring的jdbcTemplate来操作。

接口说明
Dao通用Dao接口.
CrudDao增删查改基本Dao接口.
GenericDao封装了通用的分页接口
GenericJdbcDao采用jdbcTempate封装Jdbc的操作

体系架构

我们把LegendDao的功能架构分为三层,如下图:

在这里插入图片描述

1. API接口层

提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。支持类似Hibernate的增删改查的和采用JDBC方式的多表查询。

2.数据处理层

负责具体的SQL查找、SQL组装、SQL执行和执行结果映射处理等。它主要的目的是根据调用的请求完成一次数据库操作。

3. 基础支撑层

基础层使用Spring的jdbcTemplate来实现。

期望 | Futures

欢迎提出更好的意见,帮助完善 LegendDao

版权 | License

Apache License 2.0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
legendShop是目前最完善的Java商城之一,功能强大,支持单用户,类似京东等B2C商城模式,也支持类似淘宝等多用户C2C商城模式,采用Lucence技术支持海量数据全文搜索。 是你驰骋电子商务界的利器。由于采用了最新的技术框架和spring security等,使得系统具体高性能、高安全性的特点。 LegendShop不是一个网店系统那么简单,而是一个多用户Java商城,多商家多语言多风格的大型商城系统。他能带给用户的不只是一个网店而已, 是一个独立配置,风格清爽,完全控制的商城,例如可以自定义产品分类,产品属性,系统广告,友情链接等,可以参考淘宝商城模式。 LegendShop独创性引入加盟店模式,使得商家与商家不再是一个独立的个体,用户在浏览完一个商城之后可以方便的导航到另外一个加盟商城,谓之类似围脖风格的微商系统LegendShop是基于JAVA编程语言开发的开源电子商务软件,采用Struts、Hibernate、Spring/Spring MVC等开源技术和自主框架技术开发。 1、LegendShop采用HTML伪静态生成技术和多级缓存技术,使得系统的响应速度和负载能力得到极大的提升。 2、LegendShop是采用MVC架构开发的电子商务平台,使得用户在系统风格修改方面也能得心应手。 3、采用AJAX、Jquery等技术,在系统的易用性和实用性方面都得到了空前的突破,真正达到了只要会打字就能够建设专业水准的电子商务平台。 4、支持多操作系统(如: Windows、Linux、Solaris等),有利于网店系统的部署与迁移。 5、支持SEO优化,帮助您顺利进行搜索引擎营销,以达到提升产品销量和品牌形象的目的。 6、LegendShop通过与支付宝等多家网银支付公司合作为用户实现最佳无接缝支付功能。 7、支持产品的动态属性动态参数,适合各种商品销售。 8、支持动态属性,能在运行是改变商城的运行模式。 9、支持国际化功能,支持多国语言,适合做外贸性生意。 10、支持全文搜索,用户可以查询所有的商城的商品信息。 11、支持多个地域协同销售,是个类似淘宝商城的微型商城系统
LegendShop是基于JAVA编程语言开发的开源电子商务软件,采用Hibernate、Spring/Spring MVC等开源技术和自主框架技术开发。 1、Legend Shop采用HTML伪静态生成技术和多级缓存技术,使得系统的响应速度和负载能力得到极大的提升。 2、Legend Shop是采用MVC架构开发的电子商务平台,使得用户在系统风格修改方面也能得心应手。 3、采用AJAX、Jquery等技术,在系统的易用性和实用性方面都得到了空前的突破,真正达到了只要会打字就能够建设专业水准的电子商务平台。 4、支持多操作系统(如: Windows、Linux、Solaris等),有利于网店系统的部署与迁移。 5、支持SEO优化,帮助您顺利进行搜索引擎营销,以达到提升产品销量和品牌形象的目的。 6、LegendShop通过与支付宝等多家网银支付公司合作为用户实现最佳无接缝支付功能。 7、支持产品的动态属性动态参数,适合各种商品销售。 8、支持动态属性,能在运行是改变商城的运行模式。 a 9、支持国际化功能,支持多国语言,适合做外贸性生意。 10、支持全文搜索,用户可以查询所有的商城的商品信息。 11、支持多个地域协同销售,是个类似淘宝商城的微型商城系统。 开发环境说明: 开发环境: Myeclipse 10 JDK :JDK1.6 + 服务器 : Tomcat6 数据库 : MySQL 5.6 数据库脚本位于/legendshop/doc/db script/legendshop_db_script3.6.sql

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值