[SSM网上书店基础与实战]-06初识MyBatis

125 阅读2分钟

一、MyBatis

简介

原生jdbc操作步骤

    加载驱动

    创建连接

    创建语句

    执行语句

    反馈结果

    释放资源

    这些步骤中,其实我们有改动的就是执行语句反馈结果这两步,其他都是基本上不变的

    所以原生jdbc操作的缺点就是代码编写效率太低

jdbc框架

    DBUtils,轻量级的jdbc封装框架,学习成本很低,很好用,还能结合数据库连接池

    MyBatis,中量级,半自动的jdbc框架,ORM框架,学习成本较低,基本上功能齐全

    Hibernate,偏重量级,全自动的jdbc框架,ORM框架,学习成本较高,功能齐全

入门

数据表

image.png

添加jar

image.png

建立项目/模块

MyBatis有两种配置文件方式

image.png

image.png

同时,将config目录加载为资源文件

image.png

实体类,按照数据库进行编写即可,同时自动生成gettersettertoString方法

image.png

log4j.properties

image.png

SqlMapConfig.xml

image.png

映射文件

User.xml

image.png

image.png

SqlMapConfig.xml中加载映射文件

image.png

测试使用

image.png

运行结果

image.png

小结

框架就相当于打好的表格,我们只需要去填写表格即可

案例

模糊查询

映射文件

image.png

测试

image.png

运行 image.png

添加数据

映射

image.png

测试

image.png

image.png

image.png

添加数据

映射

image.png

测试

image.png

image.png

二、原始dao开发方式(了解)

接口

image.png

编写测试

image.png

image.png

image.png

实现类

image.png

image.png

image.png

运行

image.png

小结

原始dao开发方式的问题

  • dao接口实现类中,有大量的模板型代码,重复

  • 使用sqlSession时,语句的id,属于硬编码,无法改动

  • 在sqlSession使用时,传递参数是泛型的形式

三、mapper代理dao开发方式(重点)

mapper代理是MyBatis最新的操作方式,使用的是mapper接口(相当于dao接口),没有实现类了,直接代理实现。所以只需要mapper接口mapper映射

编写接口

image.png

image.png

编写映射

image.png

image.png

加载映射

SqlMapConfig.xml image.png

编写测试

alt+insert快速生成 image.png

image.png

image.png

image.png

增加数据

image.png

image.png

删除数据

image.png

image.png

更改数据

image.png

image.png

查询数据

image.png

注意

后期mapper接口mapper映射都是自动生成的代码,我们无需再写,只要会用即可

四、全局配置

db.properties文件

image.png

SqlMapperCondig.xml

image.png

五、映射文件

输入映射

传递HashMap

接口

image.png 映射

image.png 测试

image.png

传递自定义类

image.png

接口

image.png

映射

image.png

测试

image.png

image.png

输出映射

输出HashMap

接口

image.png

映射

image.png

测试

image.png

输出自定义类

扩展类

image.png

image.png

接口

image.png

映射

image.png

测试

image.png

image.png

image.png

image.png

写在最后:

今天对于mybatis的学习更加基础和全面其中的一些运用可能在以后项目中不一定用得到,但是对于理解框架的运行以及整个项目的架构更加清晰。

网盘连接:链接: pan.baidu.com/s/1-LL9I3BS… 提取码: 1234