Mybatus(1)

一、Mybatis的简介

  1. 什么是mybatis : mybatis的前身是ibatis, 是一款有apache开源组织开发的一款Java持久层框架产品。未来会替换JDBC的操作数据库,简化JDBC操作数据库的复杂性。
  2. Mybatis的前生今世
    2.1 Mybatis的前生是ibatis,后来更名为Mybatis。
    2.2 2010年之前是由apache开源组织负责维护, 2010年交由google code团队开始维护,此时更名为Mybatis。
    2.3 2013年开始入驻github(全球最大的代码托管平台,上面有很多的开源知名项目)。
  3. Mybatis的特点:
    3.1 简单: 大大的简化了JDBC操作数据库的复杂性,使用Mybatis开发操作数据库的代码,基本上看不到任何JDBC的原生复杂的代码。
    学习上手简单, 正因文学习成本低,所以很多人都在使用Mybatis。
    3.2 灵活: Mybatis开发操作数据库,将sql语句书写在配置文件中, 便于对sql语句的调优和项目的维护。

二、分析JDBC操作数据库存在的缺陷

在这里插入图片描述

三、使用Mybatis开发的核心流程

在这里插入图片描述
四、使用Mybatis开发

  1. 搭建开发环境
    1.1 引入依赖jar包 :
    在这里插入图片描述
    1.2 引入配置文件:
    ① 引入mybatis的全局核心配置文件 : 位置随便放
    ② 引入mybatis的mapper文件 : 位置随便放
    ③ 引入log4j日志的配置文件:必须放在src根目录下
    1.3 初始化配置: 编写mybatis的全局核心配置文件,配置mybatis操作数据库的 相关参数等。
    ① 编写mybatis-config.xml
    在这里插入图片描述
  2. 开发mybatis应用
    2.1 mybatis的核心API:
API名称作用
Resources用于读取和解析mybatis-config.xml全局配置文件。
SqlSessionFactory主要作用就是用于创建SqlSession的。
SqlSession1. SqlSession类似于JDBC开发中Connection对象的作用,一个SqlSession中封装了一个Connection对象,所以mybtais开发的时候使用SqlSession对象控制事务。2. 由于mybatis是采用mapper文件作为代理DAO接口的实现,所以我们需要使用SqlSession去获取最终的DAO实现类对象,然后调用DAO的方法。

2.2 开发DAO
①封装实体类
②编写DAO接口
③编写mapper文件

在这里插入图片描述
④ 如果是一个新的mapper文件,需要在mybatis-config.xml全局配置文件中注册一下位置。
在这里插入图片描述
⑤ 测试
在这里插入图片描述

五、mybatis中接口参数绑定机制

  1. 接口方法一个参数 : mapper文件中#{}取值语法里面,写什么都可以。
    在这里插入图片描述
  2. 接口方法多个参数:
    2.1 注解方式绑定: 专门用于条件查询。可读性高
    在这里插入图片描述
    注意: @Param注解的value属性可以省略。
    2.2 使用Map作为接口方法的参数 : 也是可以用于查询,但是可读性差,不建议现在使用。
    在这里插入图片描述
    2.3 对象方式 : 主要用于添加和更新操作 。
    在这里插入图片描述

六、使用Mybatis完成CRUD

  1. 查询返回多条数据
    在这里插入图片描述
  2. 删除
    在这里插入图片描述
    注意: Mybatis框架的事务是自动回滚处理 ,所以在执行完写(增 删 改)操作后,必须手动提交事务。
  3. 更新
    在这里插入图片描述
  4. 添加
    在这里插入图片描述

七、使用Mybatis开发service和DAO

  1. 创建表
  2. 封装实体类
  3. 编写DAO
  4. 编写Service

注意: 以后开发查询操作不控制事务。 写操作一定要控制事务。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值