一、Mybatis-入门
Java程序控制数据库
1.入门
定义实体类:一定要和表中的字段一一对应
配置连接数据库数据
建立Mapper层语句,来获取数据库数据以及将其封装到user的list中去。
2.配置SQL提示
为了进行查询数据库中有哪些表,所以得连接数据库
3.JDBC介绍
4.数据库连接池
所有数据库连接池都要实现DataSource这个接口
如果要在spring框架下使用德鲁伊连接池只需要引入德鲁伊的起步依赖
5.lombok
原先实体类需要构造器以及需要get,set,重写toString
lombok只需要注解
红色的注解用的最多
首先引入lombok依赖:
然后在实体类上进行注解就行
二、Mybatis基础操作
1.删除
在mapper接口中要创建一个抽象方法并使用delete注解,括号里是删除的操作,传入的主键id
使用这个接口
、
建议保持一致
Mybatis底层MYSQL语句是怎么样的执行什么操作是看不到的,所以需要日志
不需要记,只要记住什么需要日志,mybtis加上log就会出现其配置项。
之前删除的底层:
预编译SQL
预编译的占位符导致每次输出语句一样只需要编译一次
SQL注入
而预编译会将你的输入密码整个传给password避免了SQL注入
使用#()就是使用了预编译
2.新增
Mapper中的函数
测试新增函数
主键返回
如何实现主键返回
3.更新
根据主键修改信息
更新操作的SQL语句
Mapper更新方法:
Java中的测试程序
4.查询
解决方案:
方式一:给字段起别名
方式二:通过Resulte注解
方式三:开启mybatis的驼峰命名自动映射开关
在properties中开启:
输入camel
条件查询
Mapper方法:
注意:#()不能在引号里,为了进行模糊匹配使用$拼接符,但是存在SQL注入问题,所以采用SQL的concat语句:
测试函数:
对于之前版本的SpringBoot版本使用Param注解来对应,现在内置了编译插件
三、XML映射文件
配置SQL语句可以通过注解也可以通过XML映射文件
配置XML文件语句
第一条红色区域的java包下的mapper和resource包下的xml
第二条紫色区域
第三条黄色区域
创建resource包下的xml文件目录格式:
使用新建Directory,使用斜线分割
在test或者application中使用前得配置XML文件:
固定约束是:
使用XML映射文件条件查询:
Mapper方法函数:
test中进行xml文件映射
按规范是为了让SQL语句匹配上,注解就直接匹配了
四、动态SQL
1.动态标签
<if>
使用XML映射文件
这样只传入name也会根据name进行查询,或者两个三个一个进行查询。
但是这样如果不传入name,传了gender和entrydate,前有and,SQL语法不正确
所以需要使用<where>标签,会判断里面的条件
案例
对于部门人员信息的更新,有些信息不需要更新,但之前的不使用动态标签的就必须每个参数都要传入
但是如果不传username,会多余一个,出现错误所以使用set动态标签
<foreach>
批量删除信息
mapper方法函数 :
<foreach>中的参数:
XML映射文件
测试程序:
<sql><include>
在XML映射文件中存在许多通用的语句重复使用,所以使用这组动态标签进行代码的复用