xml映射文件的名称和Mapper接口要保持一致
在xml映射文件中定义sql语句
id保持一致返回类型一致
在resource里面创建目录时用/分割
mybatis框架操作数据库最终是要调用mapper接口中的方法就可以完成数据库中的操作,但最终操作数据库是执行了与方法对应的sql语句
怎么通过mapper中的方法找到对应的sql语句?
1、通过注解,sql语句和注解是绑定在一起的
2、xml:在调用接口中的方法的时候,mybatis框架会去自动查找namespace属性值与接口属性名相同的xml映射文件,并在xml映射文件里找到id属性值与方法名相同的sql语句,最终来运行,完成数据库的操作
简单的增删改查使用注解,复杂的sql功能,使用XML来配置映射语句
动态sql:随着用户的输入或外部条件变化而变化的SQL语句
#{}不能出现在“”内,在进行模糊匹配的时候可以讲#替换成$或者使用字符拼接函数concat
select * from emp where name like concat('%',#{name},'%')
ctrl alt l一起摁可以格式化代码
<where>标签可以去掉多余的and,<set>标签可以去除字段后多余的逗号
foreach标签
collection:遍历的集合
item:遍历出来的元素
separator:分隔符
open:遍历开始前拼接的SQL片段
close:遍历结束后拼接的SQL片段
环境搭建:
前端工程发起请求来请求后端(服务端),服务端接收到请求后操作数据库,请求处理完毕后,服务端再给前端响应结果
1、准备数据库表
2、创建springboot工程,引入依赖:web:需要接收前端的请求,MySQL驱动和mybatis:后端通过mybatis来操作数据库,lombook:简化工具
3、配置文件application.properties中引入mybatis的配置信息,准备对应的实体类
4、准备对应的mapper、service(接口、实现类)、controller基础结构
controller:存放控制层的代码
service:业务层的接口以及实现类
mapper:mapper接口
pojo:存放实体类
将这些接口和类创建出来,并将其交给IOC容器管理,加注解:@Mapper、@Service、@RestController
前后端分离:前端人员开发前端的工程,最终将打包好的前端工程部署在niginx服务器上运行,后端人员开发后端工程(服务端工程)然后将打包好的程序运行在tomcat服务器中,前端请求服务端,接收到请求进行处理然后再给前端响应数据。需要遵守开发规范(接口文档)。
在这个过程中前后端是基于restful风格的接口进行交互
rest:表述性状态转换,是一种软件架构风格
通过url来定位资源、HTTP的动词来描述操作(增删改查)
get:查询 post:新增 put:修改 delete:删除
反应统一的响应结果result:code(响应码,1成功,0失败),msg(响应信息,描述字符串),data(返回的数据)
查询部门思路:前端发起请求,deptcontroller接受请求调用service查询部门数据,但是service是进行逻辑处理的所以调用数据访问层,通过调用mapper接口来实现sql语句,再倒叙返回,controller再将返回的响应结果封装在统一的result对象中响应给前端。
最终controller要调用service
前端发送请求会请求到controller这个方法,首先调用service来请求数据,在service当中调用mapper接口当中的方法来查询全部信息