曾经在不少项目里面用过Mybatis,但是却没有系统的整理过相关的知识,正好利用自己找工作的这段时间整理下吧。
1、JDBC
SQL夹在 Java代码块里,耦合度高导致硬编码内伤,维护不易且实际开发需求中 sql是有变化,频繁修改的情况多见。
2、Hibernate和 JPA
长难复杂 SQL,对于 Hibernate而言处理也不容易
内部自动生产的 SQL,不容易做特殊优化。
对开发人员而言,核心 sql还是需要自己优化 + 掌握在自己手上,简单来说,就是一句话, sql 和 java编码分开,功能边界清晰,一个专注业务、一个专注数据,可以使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJO映射成数据库中的记录,完成业务代码 + 底层数据库的媒介.
MyBatis介绍:
本质是一个将SQL 语句map 到JAVA POJO 的框架 ,它不是用来消除 SQL语句的 ,它主要是用来将 SQL从代码中分离出来,集中写在 map文件中 ,免除在Java 代码中写 SQL语句时容易出现 少写逗号 ,SQL语句格式不易读 ,JDBC重复的大量样板代码等问题。
Mybatis系统环境搭建
1:添加相关jar包
2:通过其他技术创建数据库和数据库表。
3:配置log4j.xml配置文件。
4:配置文件 mybatis-config.xml
5:建对应的 entity 持久化实体
6:建 Mapper接口并定义抽象方法
7:建对应 Mapper 接口的XML映射文件
8:将上一步骤的MapperXML映射文件配置进 mybatis-config.xml
9:编写 Junit 单元测试类,执行 CRUD操作