MyBatis + SpringMVC 总结

  1. 创建 MyBatis 的主配置文件(mybatis-config.xml):环境,事务管理,数据源
  2. 给类取别名

  1. 配置支持懒加载

  1. 创建接口以及接口的映射文件(UserMapper,UserMapper.xml)
  2. 接口的全路径和映射文件中 mapper 标签的 namespace 属性保持一致
  3. 接口的方法名和映射文件中具体的标签名(insert,select,update,delete) ID 值保持一致
  4. 读取 new SqlSessionFactoryBuilder().build(is)配置文件创建 SqlSessionFactory,从而创建 SqlSession.openSession()方法
  5. 通过 SqlSession 来调用具体的方法
  6. sqlSession.getMapper(UserMapper.class).addUser();
  7. 提交事务,关闭 sqlSession

  8. 多对一:association

  9. 一对多:collection
  10. 一对一:association
  11. 多对多:collection

  12. 正常关联查询:


  1. 懒加载

  1. 只有一条 SQL 查询语句

    select * from t_student t1, t_classes t2 where t1.classes_id = t2.classes_id and student_id = #{id}

  1. 查询学生时,有两条 SQL 语句

    select * from t_student where student_id = #{id}

    select * from t_classes where classes_id = #{classes.classesId}

  1. 动态 SQL
    if、where、set、forEach、trim

  2. web.xml中配置 SpringMVC 的中央控制器 dispatcherServlet 拦截所有匹配的请求路径,配置读取 SpringMVC 核心配置文件的路径

  3. 配置 SpringMVC 核心配置文件

        /

        .jsp

        org.springframework.web.servlet.view.JstlView

        10485760

        UTF-8

  1. 创建 Controller,UserController(创建方法method,addUser) @Controller、@RequestMapping、@RequestParam、@ResponseBody

  2. DispatcherServlet:中央控制器

  3. HandleMapping:映射处理器
  4. Controller:控制器
  5. ViewResolver:视图解析器
  6. ModelAndView:模型和视图对象

Original: https://www.cnblogs.com/xiqingbo/p/java-26.html
Author: Schieber
Title: MyBatis + SpringMVC 总结

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/598686/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 日志:Redo Log 和 Undo Log

    本篇文章主要介绍 Redo Log 和 Undo Log: 利用 Redo Log 和 Undo Log 实现本地事务的原子性、持久性 Redo Log 的写回策略 Redo Lo…

    数据库 2023年6月11日
    082
  • 单点登录(SSO)

    1 基础知识 单点登录机制(SSO)允许用户登录应用程序一次,并访问所有相关的系统,而不需要单独登录它们。 由于 SSO,用户只需登录一次即可使用服务,并自动登录到所有相关应用程序…

    数据库 2023年6月14日
    0160
  • redis启动服务闪退,端口被占用

    1、首先查询一下redis端口的pid,使用命令【netstat -ano | findstr 端口号】redis默认端口号是6379 (注意!如果netstat命令使用不了的话,…

    数据库 2023年6月11日
    0117
  • Redis概述及基本数据结构

    Redis 是一个基于内存的键值型 NoSQL 数据库 特征: 键值型:value 支持多种不同数据类型,功能丰富 单线程:每个命令具备原子性 延迟低、速度快: 基于内存、IO多路…

    数据库 2023年6月16日
    075
  • 23种设计模式之分类总结

    关于设计模式的学习要告一段落了,学习的这一路上,也收到了不少小伙伴的留言,以及点赞给了我莫大的鼓励,我在这里谢谢大家的鼓励。。。 我会再接再厉,嘿嘿。。。 以上的话虽是真心话,但是…

    数据库 2023年6月6日
    0281
  • DM-DM之间的DBLINK

    1 创建外部链接 创建一个外部链接。 语法格式 CREATE [OR REPLACE] [PUBLIC] LINK STANDBY FIRST | PRIMARY ONLY | S…

    数据库 2023年6月11日
    077
  • NO.4 计算机组成原理-笔记

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    数据库 2023年6月14日
    092
  • jdbc-使用工具类

    package com.cqust; import com.cqust.utils.JDBCUtil; import java.sql.Connection;import java…

    数据库 2023年6月11日
    068
  • 数据库的主从搭建

    数据库(mariadb)主从搭建 1,准备两台虚拟机(本文使用centos7演示)! 一:启动虚拟机配置环境安装数据库(俩节点都要执行操作) setenforce 0 Origin…

    数据库 2023年6月16日
    0142
  • 解决Laravel中自带分页函数links()分页样式布局显示混乱的问题

    相信用过Larvel框架的小伙伴或多或少都遇到过links()布局混乱的问题 恰巧我今天又一次遇到了这个问题 于是便记录下来,也给才入坑的小伙伴提供一些解决方案 首先,我如果直接使…

    数据库 2023年6月14日
    0113
  • Nginx基础入门篇(1)—优势及安装

    一、Nginx 的优势 1.1发展趋势: 2016年: 1.2、简介 Nginx (engine x) 是一个高性能的HTTP(解决C10k的问题)和反向代理服务器,也是一个IMA…

    数据库 2023年6月14日
    078
  • LeetCode 26. 删除有序数组中的重复项

    给你一个 升序排列 的数组nums,请你 原地 删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。元素的相对顺序应该保持一致。 由于在某些语言中不能改变数组的长度,…

    数据库 2023年6月11日
    082
  • day42-反射01

    Java反射01 1.反射(reflection)机制 1.1反射机制问题 一个需求引出反射 请看下面问题: 根据配置文件 re.properties 指定信息,创建Cat对象并调…

    数据库 2023年6月11日
    0126
  • 容器化|在 S3 备份恢复 RadonDB MySQL 集群数据

    作者:程润科、钱芬视频:钱芬 上一篇文章我们演示了如何快速实现 MySQL 高可用集群部署,以及部署集群的校验和卸载方式。本文将演示如何对集群进行备份和恢复。 部署版本为 Rado…

    数据库 2023年5月24日
    091
  • Golang并发编程——goroutine、channel、sync

    并发与并行 并发和并行是有区别的,并发不等于并行。 两个或多个事件在同一时间不同时间间隔发生。对应在Go中,就是指多个 goroutine 在单个CPU上的交替运行。 两个或者多个…

    数据库 2023年6月16日
    058
  • MySQL select语句中where条件的提取过程

    select语句中where条件的提取过程 孔个个依然,在整理where条件提取过程时,发现中文互联网上关于这一块的知识要么是存在错误自相矛盾的,要么是版本过老,遂自己整理了一版。…

    数据库 2023年6月16日
    092
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球