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 比较与分析相关推荐

  1. ssm毕设项目焦虑自测与交流平台k43cf(java+VUE+Mybatis+Maven+Mysql+sprnig)

    ssm毕设项目焦虑自测与交流平台k43cf(java+VUE+Mybatis+Maven+Mysql+sprnig) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + H ...

  2. SSM毕设项目超市会员卡管理系统dq469(java+VUE+Mybatis+Maven+Mysql)

    SSM毕设项目超市会员卡管理系统dq469(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilder ...

  3. springboot毕设项目东莞汉庭酒店的酒店管理系统的设计与实现4ccnv(java+VUE+Mybatis+Maven+Mysql)

    springboot毕设项目东莞汉庭酒店的酒店管理系统的设计与实现4ccnv(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + ...

  4. SSM毕设项目校园设备巡检管理系统04b46(java+VUE+Mybatis+Maven+Mysql)

    SSM毕设项目校园设备巡检管理系统04b46(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilde ...

  5. ssm毕设项目民宿预定管理系统20sxh(java+VUE+Mybatis+Maven+Mysql+sprnig)

    ssm毕设项目民宿预定管理系统20sxh(java+VUE+Mybatis+Maven+Mysql+sprnig) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HB ...

  6. ssm毕设项目iGame游戏交易平台nzln3(java+VUE+Mybatis+Maven+Mysql+sprnig)

    ssm毕设项目iGame游戏交易平台nzln3(java+VUE+Mybatis+Maven+Mysql+sprnig) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + ...

  7. Springboot毕设项目大学生科技项目管理系统0zzjj(java+VUE+Mybatis+Maven+Mysql)

    Springboot毕设项目大学生科技项目管理系统0zzjj(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + ...

  8. JAVA毕设项目社区电商平台系统(java+VUE+Mybatis+Maven+Mysql)

    JAVA毕设项目社区电商平台系统(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Web ...

  9. ssm毕设项目农贸市场摊位管理系统c22ux(java+VUE+Mybatis+Maven+Mysql+sprnig)

    ssm毕设项目农贸市场摊位管理系统c22ux(java+VUE+Mybatis+Maven+Mysql+sprnig) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + ...

最新文章

  1. UITextView添加占位字符
  2. Python中eval函数的表达式如何使用
  3. CocoaPods 安装与使用教程
  4. weblogic服务器保存图片失败解决办法
  5. Python学习笔记:面向对象编程(3)
  6. C++ :跳表数据结构的实现原理
  7. HDU - 3538 A sample Hamilton path(最短哈密顿路径+状压dp)
  8. 剥开浮躁表面,直指金融科技内心
  9. Hadoop的I/O操作
  10. 软件设计师16-数据结构02(排序/查找)
  11. java day31【web概念概述 、HTML】
  12. [转]NVIDIA/ATI显卡后缀命名大盘点
  13. java计算机毕业设计宠物店管理系统源码+数据库+系统+lw文档+部署
  14. CentOS-7镜像文件下载
  15. WIN10+ubuntu16.04双系统卸载重装
  16. 易中天:望子成人,而非望子成龙
  17. 现代密码学之对称加密-DES及AES算法
  18. 倒不过的“饮食时差”,减肥路上的最大阻碍?
  19. 重复启动Tomcat时,大概率出现Deploying web application direct
  20. 如何快速实现在网页中调用文档扫描仪 (1)

热门文章

  1. C和指针之数组编程练习5 (矩阵相乘)
  2. 微软官方pe工具_微软官方下载工具
  3. matlab读取文件夹下所有文件的字符串,MATLAB读取文件夹下所有文件的文件名并读取数据...
  4. 光线在传播过程中是否会有变化?可以通过镜子接力的方式抵达目的地吗!?...
  5. 这8个中国天文台你肯定不认识!
  6. “妈,你当年咋看上我爸的?”网友晒爸妈结婚照,笑抽了!
  7. 为什么有些人从不点开朋友圈?
  8. js获取int类型长度_js代码比较大小前需要把string转换int
  9. mysql 常用权限_MySQL的权限有哪些
  10. winserver2016 401您无权使用所提供的凭据查看此目录或页面_不用找了,30分钟帮你搞定使用 Spring Cloud 和 Docker 轻松构建微服务架构!...