maven mysql的jdbctemplate_JDBC、JDBCTemplate、MyBatis、Hiberante 比较与分析
JDBC (Java Data Base Connection,java数据库连接)
JDBC(Java Data Base Connection,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成.JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序
优点:运行期:快捷、高效
缺点:编辑器:代码量大、繁琐异常处理、不支持数据库跨平台
JDBCTemplate
JdbcTemplate针对数据查询提供了多个重载的模板方法,你可以根据需要选用不同的模板方法.如果你的查询很简单,仅仅是传入相应SQL或者相关参数,然后取得一个单一的结果,那么你可以选择如下一组便利的模板方法
优点:运行期:高效、内嵌Spring框架中、支持基于AOP的声明式事务
缺点:必须于Spring框架结合在一起使用、不支持数据库跨平台、默认没有缓存
MyBatis
MyBatis的前身就是iBatis,iBatis本是apache的一个开源项目,2010年这个项目由apahce sofeware foundation 迁移到了google code,并且改名
总体来说 MyBatis 主要完成两件事情
根据JDBC 规范建立与数据库的连接
通过Annotaion/XML+JAVA反射技术,实现 Java 对象与关系数据库之间相互转化
MyBatis优缺点如下:
优点: 高效、支持动态、复杂的SQL构建, 支持与Spring整合和AOP事务、结果集做了轻量级Mapper封装、支持缓存
缺点:不支持数据库跨平台, 还是需要自己写SQL语句
Hibernate
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用
Hibernate的核心类和接口一共有6个, 分别为:Session、SessionFactory、Transaction、Query、Criteria和Configuration这6个核心类和接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制
Criteria是一种比hql更面向对象的查询方式。Criteria 可使用 Criterion 和 Projection 设置查询条件.可以设置FetchMode(联合查询抓取的模式)设置排序方式,Criteria 还可以设置 FlushModel(冲刷 Session 的方式)和LockMode
1 Criteria crit = sess.createCriteria(Cat.class);
2 crit.setMaxResults(50);
3 List cats = crit.list();
Java事务API(JTA:Java Transaction API)和它的同胞Java事务服务(JTS:Java Transaction Service)为J2EE平台提供了分布式事务服务
maven mysql的jdbctemplate_JDBC、JDBCTemplate、MyBatis、Hiberante 比较与分析相关推荐
- ssm毕设项目焦虑自测与交流平台k43cf(java+VUE+Mybatis+Maven+Mysql+sprnig)
ssm毕设项目焦虑自测与交流平台k43cf(java+VUE+Mybatis+Maven+Mysql+sprnig) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + H ...
- SSM毕设项目超市会员卡管理系统dq469(java+VUE+Mybatis+Maven+Mysql)
SSM毕设项目超市会员卡管理系统dq469(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilder ...
- springboot毕设项目东莞汉庭酒店的酒店管理系统的设计与实现4ccnv(java+VUE+Mybatis+Maven+Mysql)
springboot毕设项目东莞汉庭酒店的酒店管理系统的设计与实现4ccnv(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + ...
- SSM毕设项目校园设备巡检管理系统04b46(java+VUE+Mybatis+Maven+Mysql)
SSM毕设项目校园设备巡检管理系统04b46(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilde ...
- ssm毕设项目民宿预定管理系统20sxh(java+VUE+Mybatis+Maven+Mysql+sprnig)
ssm毕设项目民宿预定管理系统20sxh(java+VUE+Mybatis+Maven+Mysql+sprnig) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HB ...
- ssm毕设项目iGame游戏交易平台nzln3(java+VUE+Mybatis+Maven+Mysql+sprnig)
ssm毕设项目iGame游戏交易平台nzln3(java+VUE+Mybatis+Maven+Mysql+sprnig) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + ...
- Springboot毕设项目大学生科技项目管理系统0zzjj(java+VUE+Mybatis+Maven+Mysql)
Springboot毕设项目大学生科技项目管理系统0zzjj(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + ...
- JAVA毕设项目社区电商平台系统(java+VUE+Mybatis+Maven+Mysql)
JAVA毕设项目社区电商平台系统(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Web ...
- ssm毕设项目农贸市场摊位管理系统c22ux(java+VUE+Mybatis+Maven+Mysql+sprnig)
ssm毕设项目农贸市场摊位管理系统c22ux(java+VUE+Mybatis+Maven+Mysql+sprnig) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + ...
最新文章
- UITextView添加占位字符
- Python中eval函数的表达式如何使用
- CocoaPods 安装与使用教程
- weblogic服务器保存图片失败解决办法
- Python学习笔记:面向对象编程(3)
- C++ :跳表数据结构的实现原理
- HDU - 3538 A sample Hamilton path(最短哈密顿路径+状压dp)
- 剥开浮躁表面,直指金融科技内心
- Hadoop的I/O操作
- 软件设计师16-数据结构02(排序/查找)
- java day31【web概念概述 、HTML】
- [转]NVIDIA/ATI显卡后缀命名大盘点
- java计算机毕业设计宠物店管理系统源码+数据库+系统+lw文档+部署
- CentOS-7镜像文件下载
- WIN10+ubuntu16.04双系统卸载重装
- 易中天:望子成人,而非望子成龙
- 现代密码学之对称加密-DES及AES算法
- 倒不过的“饮食时差”,减肥路上的最大阻碍?
- 重复启动Tomcat时,大概率出现Deploying web application direct
- 如何快速实现在网页中调用文档扫描仪 (1)
热门文章
- C和指针之数组编程练习5 (矩阵相乘)
- 微软官方pe工具_微软官方下载工具
- matlab读取文件夹下所有文件的字符串,MATLAB读取文件夹下所有文件的文件名并读取数据...
- 光线在传播过程中是否会有变化?可以通过镜子接力的方式抵达目的地吗!?...
- 这8个中国天文台你肯定不认识!
- “妈,你当年咋看上我爸的?”网友晒爸妈结婚照,笑抽了!
- 为什么有些人从不点开朋友圈?
- js获取int类型长度_js代码比较大小前需要把string转换int
- mysql 常用权限_MySQL的权限有哪些
- winserver2016 401您无权使用所提供的凭据查看此目录或页面_不用找了,30分钟帮你搞定使用 Spring Cloud 和 Docker 轻松构建微服务架构!...