mybatis技术入门第一次课

举报
tea_year 发表于 2022/02/17 21:40:14 2022/02/17
【摘要】 ORM思想及Mybatis简介简介:对象关系映射(Object Relational Mapping,简称ORM) ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。Mybatis官网地址:http://www.mybatis.org/mybatis-3/zh/getting-started.htmlMyBatis 是支持定制化 SQL、存储过程以及高...


ORM思想及Mybatis简介

简介:对象关系映射(Object Relational Mapping,简称ORM) ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。

Mybatis官网地址:

http://www.mybatis.org/mybatis-3/zh/getting-started.html

MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手工设置参数以及抽取结果集。MyBatis 使用简单的 XML 或注解来配置和映射基本体,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。  

Mybatis 开发步骤(结合官网完成,工作原理)


利用scott下部门表为例,演示开发步骤

1, 新建项目,引入JAR包


2,在src下创建mybatis主配置文件

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>

<environments default="development">

<environment id="development">

<transactionManager type="JDBC" />

<dataSource type="POOLED">

        <property name="driver" value="oracle.jdbc.OracleDriver" />

        <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl" />

        <property name="username" value="scott" />

        <property name="password" value="tiger" />

</dataSource>

</environment>

</environments>

</configuration>

3,创建工具类,利用SqlSessionFactoryBuilder加载主配置 创建SqlSessionFactory,再用工厂创建

SqlSession

4, 创建实体Emp ,创建EmpDao接口



5,创建EmpDaoMapper.xml配置文件

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

6,在主配置文件引入配置文件

7,编写测试类 1


Mybatis 关键类

同类技术对比

注意事项及小甜点


总结

1、工作原理:

2、优点:

1、简单易学

       mybatis本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。

  2、灵活

       mybatis不会对应用程序或者数据库的现有设计强加任何影响。 sql写在xml里,便于统一管理和优化。通过sql基本上可以实现我们不使用数据访问框架可以实现的所有功能,或许更多。  

3、解除sql与程序代码的耦合

       通过提供DAL层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。

 

4、提供映射标签,支持对象与数据库的orm字段关系映射  
5、提供对象关系映射标签,支持对象关系组建维护

 6、提供xml标签,支持编写动态sql。

 缺点: 

1、编写SQL语句时工作量很大,尤其是字段多、关联表多时,更是如此。  
2、SQL语句依赖于数据库,导致数据库移植性差,不能更换数据库。  

3、框架还是比较简陋,功能尚有缺失,虽然简化了数据绑定代码,但是整个底层数据库查询实际还是要自己写的,工作量也比较大,而且不太容易适应快速数据库修改。  

4、二级缓存机制不佳

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。