内容导航: MyBatis 是一款优秀的持久层ORM框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。 MyBatis 和Hibernate框架相比,是一种半自动化的ORM实现。 MyBatis的优点: 1、基于SQL语法,简单易学。 2、能了解底层组装过程。 3、SQL语句封装在配置文件中,便于统一管理与维护,降低了程序的耦合度。 4、程序调试方便。 MyBatis的前身就是iBatis,是由Clinton Begin开发,后来捐给Apache基金会,成立了iBatis开源项目。 2010年5月该项目由Apahce基金会迁移到了Google Code,并且改名为MyBatis。 通俗说法Ibatis3 = MyBatis。 Mybatis和传统的JDBC相比,有如下优势: 减少了61%的代码量。 最简单的持久化框架。 架构级性能增强。 SQL代码从程序代码中彻底分离,可重用。 增强了项目中的分工。 增强了移植性。 代码比较: JDBC代码示例: Mybatis代码示例: MyBatis 就是将上面这几行代码分解包装: 1、对数据库的数据源的管理包括事务管理, 2、MyBatis通过配置文件来管理 SQL 以及输入参数的映射, 3、MyBatis获取返回结果到 Java 对象的映射,也是通过配置文件管理。 MyBatis: 1、是一个SQL语句映射的框架(工具)。 2、注重POJO与SQL之间的映射关系。不会为程序员在运行期自动生成 SQL 。 3、自动化程度低、手工映射SQL,灵活程度高.。 4、需要开发人员熟炼掌据SQL语句。 Hibernate: 1、主流的ORM框架、提供了从 POJO 到数据库表的全套映射机制。 2、会自动生成全套SQL语句。 3、因为自动化程度高、映射配置复杂,api也相对复杂,灵活性低.。 4、开发人同不必关注SQL底层语句开发。 Hibernate的映射关系: Mybatis工作原理图(一): Mybatis工作原理图(二): 👍👍👍👍👍👍 原文来自:
1、MyBatis介绍
2、发展历史
3、与JDBC比较
/* 源代码来自:https://blog.csdn.net/goldentec 作者:AT阿宝哥 微信:goldenunion */ Class.forName("oracle.jdbc.driver.OracleDriver"); Connection conn = DriverManager.getConnection(url,username,password); String sql = "Select * from dept where deptno = ?"; PreparedStatement statement = conn.prepareStatement(sql); statement.setInt(1, departmentID); ResultSet resultSet = statement.executeQuery(); while (resultSet.next()) { Department currDept = new Department(); currDept.setNo(resultSet.getInt(1)); }
<!-- 源代码来自:https://blog.csdn.net/goldentec --> <!-- 作者:AT阿宝哥 微信:goldenunion --> <!-- 环境配置 --> <environment id="local"> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOLED"> <property name="driver" value="oracle.jdbc.driver.OracleDriver" /> <property name="url" value="jdbc:oracle:thin:@localhost:1521:XE" /> <property name="username" value="mybatis" /> <property name="password" value="admin" /> </dataSource> </environment> <!-- 映射器配置 --> <mapper namespace="com.company.project.dao.Department"> <resultMap type="Department" id="DepartmentResultSet"> <id column="DepartmentID" property="DepartmentID" jdbcType="VARCHAR"/> </resultMap> <!-- 通过主键查询 --> <select id="findById" parameterType="java.lang.String" resultMap="DepartmentResultSet"> Select * from dept where deptno = #{deptno , jdbcType=VARCHAR} </select> </mapper>
4、与Hibernate的对比
MyBatis的映射关系:
5、MyBatis工作原理
🌹GET!童鞋,你好棒呀,给我们一起点个赞。💪
👏👏👏👏👏👏
作者:AT阿宝哥
公众号:aitegu
ImapBox:https://blog.csdn.net/goldentec
简书:https://www.jianshu.com/u/8a6075d7a2e0
微信:goldenunion
邮箱:goldenunion@qq.com
QQ:12264104
声明:未经作者许可,禁止转载,如遇抄袭,欢迎举报!
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算