在Web开发中,一般都分3层. Controller/Action 控制层, Service/Business 服务层/业务逻辑层, Dao 数据访问层/数据持久层. 在学习和工作的实践过程中,我发现很多功能是比较通用的,我们可以把他们抽象成API接口. 下文通过一段较长的代码,Hibernate实现,来展示如何设计一些通用的API. 说明:代码只是起到一个示范(Demo)的作用,实际上完全可以做得更强大. 我最近已经在现在的基础上大大改进了,现在把比较基础的实现分享给大家. package c…
在Web开发中,一般都分3层.Controller/Action 控制层,Service/Business 服务层/业务逻辑层,Dao 数据访问层/数据持久层. 在学习和工作的实践过程中,我发现很多功能是比较通用的,我们可以把他们抽象成API接口. 下文通过一段较长的代码,Hibernate实现,来展示如何设计一些通用的API. 说明:代码只是起到一个示范(Demo)的作用,实际上完全可以做得更强大.我最近已经在现在的基础上大大改进了,现在把比较基础的实现分享给大家. package cn.fa…
一.前言 1.持久层 Java数据持久层,其本身是为了实现与数据源进行数据交互的存在,其目的是通过分层架构风格,进行应用&数据的解耦. 我从整体角度,依次阐述JDBC.Mybatis.MybatisPlus. 前者总是后者的依赖.只有在了解前者,才可以更好地学习后者. 2.技术选型 ciwai ,还有Hibernate.SpringData.JPA等. 至于Hibernate作为知名框架,其最大的特点,是支持面向对象的数据管理.但成也萧何,败也萧何.Hibernate的该功能,导致其太重了.而大…
经过几个星期的优化调整,今天 Restful.Data 正式开源发布. 源码地址:https://github.com/linli8/Restful 今天不写那么多废话了,还是重新介绍一下 Restful.Data 吧. 1.什么是Restful.Data? Restful.Data是一套通用的轻量级数据持久层组件,除封装了ADO.NET基本的数据库操作以外,也提供了一些orm相关的API,用户可以方便的定义实体类,并使用这些API对数据进行增删改查等操作. Restful.Data借鉴了业界如…
C++ORM框架自动生成代码数据库  用过Java的都知道SSH框架,特别对于数据库开发,Java领域有无数的ORM框架,供数据持久层调用,如Hibernate,iBatis(现在改名叫MyBatis),TopLink,JDO,JPA……非常方便实用. 用过C#的同学们也都知道通过CodeSmith软件,生成微软的PetShop分层模式,达到数据持久层的代码,也非常方便. 那么我们用C++的怎么办,我们也是面向对象编程,在工作中也有数据库需要管理.我们需要完全手工去写那些重复性的代码吗? 特别我…
在本文中我们介绍并比较两种最流行的开源持久框架:iBATIS和Hibernate,我们还会讨论到Java Persistence API(JPA).我们介绍每种解决方案并讨论其所规定的品质,以及在广泛的应用场景中其各自的长处和缺点.然后我们会基于诸如性能.移植性.复杂性以及对数据模型改变的适应性等因素来比较iBATIS.Hibernate和JPA. 如果你是一个刚起步的Java程序员,新接触持久性概念的话,那么就把阅读此文当作是接受一次这一主题以及大部分流行的开源持久性解决方案的启蒙.如果你对这…
对于MyBatis的学习而言,最好去MyBatis的官方文档:http://www.mybatis.org/mybatis-3/zh/index.html 对于语言的学习而言,马上上手去编程,多多练习是最好的办法.J   iBATIS此项目已改名为 MyBatis,并提供 Java 和 .NET 版本. iBATIS一词来源于“internet”和“abatis”的组合,是一个由Clinton Begin在2001年发起的开放源代码项目.最初侧重于密码软件的开发,现在是一个基于Java的持久层框…
为什么三层架构中业务层(service).持久层(dao)需要使用一个接口? 如果没有接口那么我们在控制层使用业务层或业务层使用持久层时,必须要学习每个方法,若哪一天后者的方法名改变了则直接影响到前面的调用者.这样的代码耦合度太高了 那么我们顶一个接口就能解决耦合度问题么?那当然,不然前辈们也不会这么写. 例如:```java UserService userService = new UserServiceImpl(); 多态的性质,当我们在UserController调用UserServic…
选择SQLite的理由 在做UWP开发的时候我们首选的本地数据库一般都是Sqlite,我以前也不知道为啥?后来仔细研究了一下也是有原因的: 1,微软做的UWP应用大部分也是用Sqlite.或者说是微软推荐使用Sqlite吧! 2,简单!就只有一个类库没有多余的参照什么的.不像其他数据库还得做复杂配置什么的麻烦! 3,不需要数据库服务,数据服务和客户都在同一个进程里面.如下图: 4,作为存储系统它只支持一个用户一个数据实体. 5,跨平台跨结构,这个好! Sqlite主要使用内容 如果想充分使用好S…
在.NET平台下,关于数据持久层框架非常多,本文主要对如下几种做简要的介绍并推荐一些学习的资源: 1.NHibernate 2.NBear 3.Castle ActiveRecord 4.iBATIS.NET 5.DAAB 附加介绍:DLinq 一.NHibernate 提起NHibernate,相信大家都不陌生,NHibernate来源于非常优秀的基于Java的Hibernate关系型持久化工具,它从数据库底层来持久化.Net对象到关系型数据库,NHibernate为我们完成这一切,而不用自己…