Java Web 12 MyBatis 入门 增删改查 动态SQL
本文是MyBatis的手把手式全面教程 作者凌晨三点整理而成 祝好!
目录
前言
什么是MyBatis?
MyBatis 官网: MyBatis中文网https://mybatis.net.cn/ 一、MyBatis 入门
1、快速入门
①、案例介绍
案例:使用 MyBatis 查询所有用户数据
在 Java 中编写 SQL 语句,发送给服务器
实现步骤:
注意:在 MyBatis 的开发当中,我们只需要定义这个 Mapper 接口即可,是不需要定义它的实现类的,因为程序在运行时,框架底层会自动生成这个接口的实现类对象。
②、实现过程
Ⅰ、创建一个SpringBoot工程:
勾选 MyBatis 相关依赖:
Ⅱ、删除多余文件,保持项目整洁:
Ⅲ、数据库表与实体类的创建:
数据库表的创建可以在数据库中直接执行SQL文件解决;
实体类的创建:
Ⅳ、配置数据库的连接信息 -- application.properties(四要素):
Ⅴ、创建 Mapper 接口:
Ⅵ、基础代码写好后,进行单元测试:
效果展示:
③、小结
④、扩展:配置SQL提示
我们可以在Mapper接口中配置SQL提示:
2、JDBC介绍
①、本质
②、JDBC操作数据库代码示例
③、原始JDBC存在的问题
④、MyBatis是如何解决原始JDBC存在的问题的?
我们使用SpringBoot来整合MyBatis进行数据库操作的时候,主要关注两点:
⑤、小结
3、数据库连接池
类似与线程池
①、有无数据库连接池的对比
如果没有数据库连接池:(随用随创建)
而有了数据库连接池:(在一开始就初始化了一定数量的连接对象),这样的话就可以做到连接的复用,而不是每一次都要新创建一个连接,同时数据库连接池还具有(空闲时间检测,当其监测到分配给客户端的连接对象空闲时间超过了指定时间,则将会把该连接释放,归还给连接池)
②、数据库连接池的优势
③、怎么实现数据库连接池
SpringBoot项目默认连接池:(HikariCP 来源于日语,意思为「光」,意味着它很快)
而Druid是阿里巴巴开源的数据库连接池项目:
切换数据库连接池:(主要就是切换pom.xml中的依赖)GitHub上有详细介绍
④、小结
4、lombok
简化实体类的方法:
①、介绍
但要想使用lombok,那么首先就要引入lombok的依赖:
二、MyBatis基础操作
1、环境准备
①、需求说明
②、准备工作
具体可参考一中的快速入门案例
实体类中的注意点:
Mapper接口:(加上了@Mapper注解,就代表程序在运行时会自动的创建接口的代理对象,并且会将这个代理对象放入到 IOC 容器当中)
2、删除
①、根据主键删除
②、日志输出
③、预编译SQL
采用预编译SQL具有两大优势:
④、SQL注入
示例:(直接拼接SQL的方式)
而在预编译SQL中,这种方法则无法奏效:(这是因为在预编译SQL中无论你输入了什么,你输入的参数都将作为一个完整的数据添到占位符?处)
⑤、参数占位符(占位符不只#{},还有${})
但${}会直接将参数拼接在SQL语句中,存在SQL注入风险,所以一般情况下都使用#{}方式即可
⑥、小结
3、新增(插入数据)
①、新增示例
②、主键返回
③、小结
4、更新
①、更新示例
②、小结
5、查询
①、示例:根据ID查询
②、MyBatis的数据封装
③、条件查询
④、参数名说明
6、XML映射文件(通过XML文件实现MyBatis)
①、规范(三点)
②、XML映射文件插件(MyBatisX)
③、如何选择注解和XML?
④、小结
三、MyBatis动态SQL
我们想实现的效果:这个查询是根据输入的条件动态组装的,如我们要查询姓名,则只根据姓名进行查询,而实现这种查询的方式就是动态SQL
1、<if>标签
①、基础写法
②、<if>案例:完善更新员工操作,改为动态SQL
③、小结
2、<foreach>标签
①、批量删除操作
②、小结
3、<sql><include>标签(这两个标签配套使用)
如果XML中存在大量的重复语句时,就可以使用<sql><include>标签进行复用
4、小结
原文地址:https://blog.csdn.net/weixin_60566743/article/details/144388024
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!