首页 > 技术文章 > Mybatis-概况

supertrampai 2019-07-25 15:48 原文

是什么

官网定义 http://www.mybatis.org/mybatis-3/
百科定义(维基百科) https://en.wikipedia.org/wiki/MyBatis
Github: https://github.com/mybatis/
同类技术有哪些:Hibernate,JDBC,JPA
对比同类的优缺点是什么:Hibernte是对象关系映射框架(ORM),将java类映射到数据库表。MyBatis是持久化框架-而不是ORM,将SQL语句映射到java方法。hibernate自动生成sql,mybatis支持复制sql;hibernate提供更高级别的缓存,mybatis支持的缓存低;hibernate使用存储过程困难,mybatis使用存储过程容易;
Mybatis使用场景:将java方法映射到sql语句;复杂查询,动态SQL,存储过程;需要维护SQL,在关系数据模型驱动。Hibernate:将java对象的实例映射到数据库中的实际行;由对象模型驱动。
学习前提(需要哪些基础知识):java,sql,xml....

总结:是一个java持久化框架,使用XML或注解,将对象与存储过程或SQL耦合在一起。mybatis不将java对象映射到数据库表,而将java方法映射到SQL语句。mybatis允许使用所以的数据库功能。mybatis简化了JDBC过程。支持动态SQL:使用Apache Velocity动态构建SQL语句。

MyBatis与Spring Framework和Google Guice集成。此功能允许用户构建没有依赖关系的业务代码。
MyBatis Generator IDEA插件的使用

为什么出现(为什么需要这个技术)
解决什么问题:简化持久化操作,对JDBC封装,简化数据库的连接,以及对sql的传参,将结果映射为java对象返回
没有这个技术前怎么做?使用JDBC进行数据的持久化 https://www.cnblogs.com/hongten/archive/2011/03/29/1998311.html

XML SQL

井号:是预编译处理,解析传递进来的参数数据,以有效的防止SQL注入,提高系统安全性。一定是占位符

${}是字符串替换,对传递进来的参数原样拼接在SQL中。一定是值

xml映射配置文件properties语法:

<!-- 定义 -->
<properties>    <property name="username" value="root"/>    <property name="password" value="root"/></properties>

推荐阅读