jdbc ,jdbcTemplate,MyBatis,Hibernate比较与分析

JDBC

1:jdbc(Java Data Base Connection 数据库连接)是一种用于执行sql语句的API,其中使用jdbc连接时需要的,Connection,Statement,ResultSet都是接口;

2:主要用于对数据库要求是快速的;因为jdbc相对比是原生态的,所以速度会比较快,但是需要写一大堆代码。

JDBCTemplate

针对数据查询提供了多个重载的模板方法,可以根据需要选用不同的模板方法,如果查询很简单,仅仅是传入相应的SQL或者相关参数,然后取得一个单一的结果。

但是因为Spring没有持久化层,所以没有缓存。 框架主要是Spring的,多数会使用这个。by the way:Spring 提供了HibernnateDaoSupport,HibernateTemplate,JDBCTempalte三种操作数据库的类,其中JDBCTemplate不是ORM,不是面向对象 的。

MyBatis

目前,企业最多使用;

时间: 2024-08-10 14:54:12

jdbc ,jdbcTemplate,MyBatis,Hibernate比较与分析的相关文章

jdbc,mybatis,hibernate各自有优缺点以及区别

JDBC: 我们平时使用jdbc进行编程,大致需要下面几个步骤: 1,使用jdbc编程需要连接数据库,注册驱动和数据库信息 2,操作Connection,打开Statement对象 3,通过Statement对象执行SQL,返回结果到ResultSet对象 4,使用ResultSet读取数据,然后通过代码转化为具体的POJO对象 5,关闭数据库相关的资源 jdbc的缺点: 一:工作量比较大,需要连接,然后处理jdbc底层事务,处理数据类型,还需要操作Connection,Statement对象和

MyBatis+Hibernate+JDBC对比分析

MyBatis目前作为持久层,用的最多,因为它符合互联网开发的变动性,实际开发中需求总会有这样的,那样的变动,MyBatis虽然没有Hibernate那么全自动化,而且对于开发人员的sql能力要求比较高,但是正是因为这样sql可以优化,业务也更容易扩展. hibernate对于sql能力不是特别强的开发人员,是一个很好的利器,而且hibernate更面向对象,hibernate不适合开发高并发高访问量的应用,很简单不能sql优化,每次查询基本都要全表扫描,即便是有hql,但是过多的使用hql,反

原理分析之一:从JDBC到Mybatis

原理分析之一:从JDBC到Mybatis Mybatis学习(一)原生态的JDBC编程总结 -----系列 深入浅出MyBatis-快速入门

jdbc,mybatis,hibernate各自优缺点及区别

JDBC: 我们平时使用jdbc进行编程,大致需要下面几个步骤: 1,使用jdbc编程需要连接数据库,注册驱动和数据库信息 2,操作Connection,打开Statement对象 3,通过Statement对象执行SQL,返回结果到ResultSet对象 4,使用ResultSet读取数据,然后通过代码转化为具体的POJO对象 5,关闭数据库相关的资源 jdbc的缺点: 一:工作量比较大,需要连接,然后处理jdbc底层事务,处理数据类型,还需要操作Connection,Statement对象和

03 Hibernate错题分析

1.在Hibernate中,以下关于主键生成器说法错误的是( C). A.increment可以用于类型为long.short或byte的主键 B.identity用于如SQL Server.DB2.MySQL等支持标识列的数据库 C.sequence用于如Oracle.SQL Server等支持序列的数据库 D.native由Hibernate根据底层数据库自行判断采用何种主键生成策略,是由使用的数据库生成主键的值 解析:C .sequence不能用于SQL Server数据库 2.使用HQL

hibernate的速度问题--hibernate.jdbc.fetch_size和 hibernate.jdbc.batch_size

hibernate的速度问题 这点我也疑惑过,最初应用hibernate的项目,我也感觉速度很慢,知道后来才知道问题的所在.       其实hibernate的速度性能并不差,比起jdbc来说,又是性能能高2倍.       当然了这和应用的数据库有关,在Oracle上,hibernate支持hibernate.jdbc.fetch_size和 hibernate.jdbc.batch_size,而MySQL却不支持,而我原来的项目绝大多数都是使用MySQL的,所以觉得速度慢,其实在企业级应用

HTTP Status 500 - JDBC exception on Hibernate data access: SQLException for SQL [n/a]; SQL state [HY000]; error code [1364]; could not execute statement; nested exception is org.hibernate.exception.Ge

HTTP Status 500 - JDBC exception on Hibernate data access: SQLException for SQL [n/a]; SQL state [HY000]; error code [1364]; could not execute statement; nested exception is org.hibernate.exception.GenericJDBCException: could not execute statement 翻译

JDBC、mybatis、hibernate连接数据库

JDBC连接数据库五步骤: 一.加载驱动 Class.forName("com.mysql.jdbc.Driver"); 二.建立连接 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:8080/数据库名","root","root"); 三.编写SQL语句 String sql = SQL语句 四.获取SQL语句 获取静态SQL语句,通

数据库连接(1)-从JDBC到MyBatis

摘要 因为有持久层框架,和Spring的存在,越来越多的人对数据库连接这块不甚了解,只知使用方便,不知其原理.所以写一个数据库连接的系列文章,总结下本人在数据库连接方面遇到的问题,和对数据库连接的理解. JDBC jdbc:Java DataBase Connectivity,Java 数据库连接,一套标准的Java API,用来执行SQL语句.这套命名应该是很老了,毕竟将Data Base直接映射成了关系型数据库,或者说,像我之前在介绍NoSQL数据库时多次提到的,NoSQL数据库还没有一套统