JDBC?Hibernate?当然是mybatis

Posted 汇求职

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDBC?Hibernate?当然是mybatis相关的知识,希望对你有一定的参考价值。



JDBC?Hibernate?当然是mybatis

01 

什么是MyBatis







MyBatis是一个实现了JPA(Java持久化接口)规范的用来连接数据库,并对其进行增删改查操作的开源框架,它是一个封装了JDBC的持久层框架,使用中只需要关注SQL本身,而不需要花费精力去处理加载驱动、创建连接、创建 statement等繁杂的过程。它和Hibernate都属于ORM(对象关系映射)框架,但还是有一定的区别。

Hibernate是一个完全的ORM框架,完全基于对象来操作数据库中的记录,而MyBatis是一个不完全的ORM框架。MyBatis 避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的 POJOs(Java对象)映射成数据库中的记录。





MyBatis框架



1




MyBatis的好处


MyBatis和Hibernate相比,简单、易于上手,减少JDBC大量冗余的代码,避免了手动设置参数和结果集的映射。

它能很好的与各种数据库兼容,因为MyBatis使用JDBC来连接数据库,所以只要JDBC支持的数据库,MyBatis就能与之兼容,所以无需考虑数据库的差异性。

还有很多第三方插件可供使用,例如分页插件,逆向工程等,同时还能与Spring很好的集成。




2





如何使用MyBatis


首先要使用MyBatis,需要有相应的jar包文件。Jar包文件配置完成后,就到了创建MyBatis核心配置文件,在其中配置环境信息、事务和数据源,完成MyBatis与数据库的连接。

在配置数据源时,可直接在核心配置文件中直接配置,还可以通过引入数据源配置文件进行配置。这样就连接上了需要使用的数据库,接下来就是使用的时间,先创建需要的Model类,这样就有了parameterType和resultType。

之后就是编写持久层接口和相关的映射文件了,在MyBatis 中也称它们为Mapper。




3




开发规范


1、Mapper接口的全限定名要和Mapper映射文件的namespace值一致。

2、Mapper接口的方法名称要和Mapper映射文件的statement的id一致。

3、Mapper接口的方法参数类型要和Mapper映射文件的statement的parameterType的值一致,而且它的参数是一个。

4、Mapper接口的方法返回值类型要和Mapper映射文件的statement的resultType的值一致。




4




注意事项


多个查询条件组成一个对象作为参数的话,可以通过用一个包装类包装一下;数据库与实体类中的列名不一致,可以通过改正数据库或者实体类中列名,但一般不会这种方法,在Mapper配置中使用resultMap的方式,将数据库与实体类中的列名不一致的地方对应起来,这样有利于提升开发的速度。

当然MyBatis的知识远不止这些,还有使用连接池来替换数据源,减少连接创建时间和连接次数,简化编程模式,控制资源使用增加稳定性;通过配置事务,实现回滚等操作,更好的管理数据;动态SQL的实现等等,等待着我们进一步的了解和学习。




以上是关于JDBC?Hibernate?当然是mybatis的主要内容,如果未能解决你的问题,请参考以下文章

MyBatis+Hibernate+JDBC对比分析

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

JDBC-Mybatis-Hibernate

mybatis和hibernate的区别

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

MyBatis中的JdbcType映射