Mybatis二

Mybatis注解开发

//利用注解可以根据返回值类型,自动映射 //

规则1: 注解和映射文件 二选一 映射文件为主导. //

规则2: 注解写法一般适用于简单操作.关联查询不适用

1.2 Mybatis 缓存讲解

1.2.1 缓存说明

说明: 如果相同的数据需要多次查询,则可以使用缓存的方式处理,提高用户的响应速度.

1.2.2 mybatis缓存说明
mybatis中提供了2种缓存的机制.
一级缓存: SqlSession级别 在同一个sqlSession内实现数据的共享 默认开启


二级缓存: SqlSessionFactory级别 由同一个sqlSessionFactory,生产的SqlSession 数据共享. 默认开启 + 配置


在这里插入图片描述

 

1.2.3 一级缓存测试

说明: SpringBoot在使用一二级缓存时,有特殊要求 需要额外注意.

/*测试mybatis的一级二级缓存


    * 现象: 如果采用springBoot的方式进行测试时发现,sql执行多次. 一级缓存无效.
    * 原因: springBoot整合mybatis之后,使用Mapper.find查询时.springBoot默认会开启
    *       多个sqlSession
    * 解决方案: 添加事务注解

@Transactional //控制事务


    * 知识讲解: springBoot中如果添加了事务注解,则默认采用同一个SqlSession


1.3 二级缓存测试


1.3.1 测试策略


说明: 为了构建多个mapper对象.需要准备多个线程进行测试. 可以通过浏览器让用户发起多次请求.之后测试二级缓存是否有效.


层级代码结构:
1. Controller 层 SpringMVC 面向接口编程 2:2:1
2. Service 层 Spring
3. Mapper/Dao层 Mybatis


在这里插入图片描述

 

1.4 注解使用二级缓存

业务说明: Mybatis中采用注解方式的查询和xml映射文件的查询的方式不一样. 两者不可以混用.
使用注解的二级缓存:

在这里插入图片描述

 总结说明: 注解缓存写法与映射文件写法冲突.所以一般二选一即可.

2 前后端项目搭建

2.1 项目调用流程图

在这里插入图片描述

 

在这里插入图片描述

 目录结构说明:


1.assets 引入第三方js/css
2.components 组件定义的目录 组件: 将html/css/js统一封装到一起,可以提高前端代码的扩展性.
3. plugins 引入elementUI.js的文件
4. router 代表路由
5. App.vue 代表整个项目的根组件
6. main.js 项目中核心JS文件

  1. 定义共同 的请求前缀
  2. /* 设定axios的请求根目录 */
    	axios.defaults.baseURL = 'http://localhost:8091/'
    

 

  1. 父子组件之间参数传递
  2. /* 向vue对象中添加全局对象 以后发送ajax请求使用$http对象 */
    /* 父组件将参数传递给子组件 需要声明 prototype.key= xxx */
    Vue.prototype.$http = axios
    

 在这里插入图片描述

 

 

3.3 创建SysResult对象

说明: 前端与后端进行业务交互.需要有一个统一的返回数据的结构,而这种负责前后端交互的媒介.称之为vo对象.

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值