JFinal 是基于Java 语言的极速 WEB + ORM 开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python等动态语言的开发效率!JFinal有如下主要特点: MVC架构,设计精巧,使用简单 遵循COC原则,零配置,无xml ActiveRecord支持,使数据库开发极致快速 自动加载修改后的java文件,开发过程中无需重启web server AOP支持,拦截器配置灵活,功能强大 Plugin体系结构,扩展性强 多视图支持,支持FreeMarker、JSP、Velocity 强大的Validator后端校验功能 功能齐全,拥有struts2绝大部分核心功能 体积小仅218K,且无第三方依赖
前世今生MyBatis的前身就是iBatis,iBatis本是由ClintonBegin开发,后来捐给Apache基金会,成立了iBatis开源项目。2010年5月该项目由Apahce基金会迁移到了Google Code,并且改名为MyBatis。MyBatis介绍MyBatis是一个数据持久层(ORM)框架。把实体类和SQL语句之间建立了映射关系,是一种半自动化的ORM实现。MyBatis的优点:1.基于SQL语法,简单易学。2.能了解底层组装过程。 3.SQL语句封装在配置文件中,便于统一管理与维护,降低了程序的耦合度。4.程序调试方便。与传统JDBC的比较减少了61%的代码量最简单的持久化框架架构级性能增强SQL代码从程序代码中彻底分离,可重用增强了项目中的分工增强了移植性JDBC与MyBatis直观对比MyBatis就是将上面这几行代码分解包装。
Hibernate入门OR映射技术通过Hibernate API操纵数据库检索策略和方式数据库事务、并发、缓存与性能优化高级配置Hibernate入门案例Hibernate关系数据库Customer类BusinessService类对象关系型映射Hibernate API Hibernate配置文件Customers表Hibernate入门创建配置文件。
QBC(Query By Criteria)API提供了检索对象的另一种方式,它主要有Criteria接口、Criterion接口和Expresson类组成,它支持在运行时动态生成查询语句。Hibernate中共提供了三种检索方式:HQL(HibernateQueryLanguage)、QBC、QBE(QueryByExample)。
本文将简要介绍怎样利用Mybatis Generator自动生成Mybatis的相关代码。在myEclipse中使用Mybatis Generator自动生成Mybatis的相关代码分两种情况:第一种,myEclipse不易安装MybatisGenerator插件(8.5以下版本的myEclipse很难支持MybatisGenerator插件安装)的情况;第二中就是8.5以上版本的myEclipse,安装MybatisGenerator插件比较容易的情况。
mybatis-spring基本配置笔记
hibernate实践一(myeclipse下):将对象信息保存到数据库中
Hibernate实践一:在MyEclipse的DatabaseExplorer透视图中连接Oracle数据库切换到DatabaseExplorer透视图单击工具栏上的按钮,可以显示多个透视图的切换。
hibernate实践八:测试DAO内的各种方法(网上购物).
Hibernate ORM 操作流程 (oracle)
在Java EE5中, Entity Bean做为EJB规范中负责持久化的组件将逐渐成为一个历史名词了,作为J2EE 4规范中最为人所熟悉的Entity Bean在Java EE5中被推到重来,取而代之的是java开发的通用持久化规范Java Persistence API 1.0, 其实就是完全重新定义了的Entity Bean规范(目前在很多场合中,由于历史原因我们仍然使用ejb3持久化来称呼这个规范)。JPA作为java中负责关系数据持久化的组件已经完全独立出来成为一个单独的规范,而不再属于Enterprise Java Bean的范畴(EJB更多的是指Stateless/Stateful session bean和Message Driven Bean)。<br> 值得注意的是Java Persistence API并不是J2EE环境专用,而是在java中的通用API。意味着我们可以在任何需要访问关系数据库的地方使用JPA,甚至包括swing开发的桌面应用。JPA也不要求一定在J2EE容器中才能运行,而是任何有JVM的环境都可以运用。 这就使得我们可以很容易的把JPA作为一个持久化组件自由的和各种容器/框架(EJB3容器, Spring等等)组合。
Ejpmodel提供了简易的数据操作方式,程序员不用关心数据库层面的构建,直接进行业务逻辑的开发。大部分的项目把操作拆分到最细不外乎是对数据库记录的查、增、改、删,程序员一辈子所做的事情都围绕这四个核心动作。JDBC、连接池、Hibernate数据库配置往往花费了程序员不少的时间,每次查询数据表中的数据还要洋洋洒洒写上几行代码。EJPmodel将数据的操作进行了概括和抽象,体现于dataList,data ,addData,modifyData四个java对象上。程序员通过访问有限的四个对象进行数据操作,满足于无穷的业务逻辑实现。例如:要查找“武侠小说”的数据,用传统的数据库操作至少也得10行以上的代码,在ejpmodel直接用dataList(“武侠小说”)一个语句即可完成。
本节我们来关注SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession和Mapper Instances的作用域极其生命周期。 以下翻译自MyBatis官方文档。译文同时附上官方文档,供读者参考。
iBatis的核心就在于映射文件(Data Map XML File)。在映射文件里可以定义包括要执行各种SQL语句,存储过程,输入参数映射,返回结果映射,缓存机制,并且能通过几种相对比较复杂的配置实现对象之间的关联关系和延迟加载。这也是iBatis区别ORM框架的,具备更灵活性,更高性能的关键所在。
@contente jb3注解的API定义在javax.persistence.*包里面。
一、入门介绍JPA是SUN官方提出的java持久化规范,主要目的是为了简化现有的持久化开发工作和整合ORM技术,JPA会逐步成为ORM领域的标准整合技术。需要强调的是:JPA是规范,并不是新的ORM框架,它的出现只是为了规范现有的ORM技术,并不会取代hibernate这样的ORM框架,在采用JPA开发时,我们仍可以用到像hibernate这样的ORM框架,只是开发出来的产品不会现依赖于某个具体的持久化框架,持久化框架也会逐步依JPA为规范进行实现,这样就可以真正意义上实现低耦合。
JPA(Java Persistence API)是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关系映射工具来管理Java应用中的关系数据。他的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate、TopLink等ORM框架各自为营的局面。值得注意的是,JPA是在充分吸收了现有Hibernate、TopLink等ORM框架的基础上发展而来的,具有易于使用、伸缩性强等优点。
MyBatis 一种优秀的O/R mapping框架 , 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索 。
MyBatis整合Spring开发
相对Hibernate和Apache OJB 等“一站式”ORM解决方案而言,ibatis 是一种“半自动化”的ORM实现。 所谓“半自动”,可能理解上有点生涩。纵观目前主流的ORM,无论Hibernate 还是Apache OJB,都对数据库结构提供了较为完整的封装,提供了从POJO 到数据库表的全套映射机制。程序员往往只需定义好了POJO 到数据库表的映射关系,即可通过Hibernate或者OJB 提供的方法完成持久层操作。程序员甚至不需要对SQL 的熟练掌握,Hibernate/OJB 会根据制定的存储逻辑,自动生成对应的SQL 并调用JDBC 接口加以执行。