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)

大家都在看

  • myrocks复制中断问题排查

    mysql可以支持多种不同的存储引擎,innodb由于其高效的读写性能,并且支持事务特性,使得它成为mysql存储引擎的代名词,使用非常广泛。随着SSD逐渐普及,硬件存储成本越来越…

    数据库 2023年6月9日
    087
  • Postman安装及汉化

    1. 安装postman 各位根据各自需要可以参考下表自行下载,把链接内的”版本号”替换为指定的版本号 操作系统 下载链接 Windows64位 Windo…

    数据库 2023年6月14日
    090
  • mysql @rownum := @rownum+1 方式获取行号

    MySQL: mysql中没有获取行号的函数,因此需要通过一些自定义语句来进行获取。通常做法是,通过定义用户变量@rownum来保存表中的数据。通过赋值语句@rownum:=@ro…

    数据库 2023年6月16日
    072
  • 从 KeyStore 中获取 PublicKey 和 PrivateKey

    KeyStore(译:密钥存储库) 代表用于加密密钥和证书的存储设施。 KeyStore 管理不同类型的 entry(译:条目)。每种类型的 entry 都实现了 KeyStore…

    数据库 2023年6月14日
    097
  • 互联网大厂那些儿“高逼格”词汇

    转载请注明出处❤️ 你好,我是测试蔡坨坨。 目前任职于上海某互联网公司测试开发工程师。 相信在互联网公司上班的同学,日常工作中一定听过不少互联网那些”高(zhuang)…

    数据库 2023年6月11日
    0147
  • webclient设置代理

    https://qa.1r1g.com/sf/ask/4102971771/ 本文来自博客园,作者:ukyo–BlackJesus,转载请注明原文链接:https://…

    数据库 2023年6月11日
    060
  • 5、枚举Enum

    枚举类会 隐式的继承Enum类,无法再继承其它类( 单继承机制) 一、无实参枚举类型: 1、定义: /** * 1、无实参枚举类型 */ public enum NoParamTy…

    数据库 2023年6月6日
    091
  • 10 Math.round(11.5) 等于多少,Math.round(-11.5)等于多少

    Math.round():将括号内的数+0.5,然后向下取整 11.5 + 0.5 = 12,向下取整即12 -11.5 + 0.5 = -11,向下取整即-11 Original…

    数据库 2023年6月6日
    0102
  • 设计模式之(9)——适配器模式

    定义:适配器模式是将一个类的接口转换成客户希望的另一个接口,适配器模式使得原本由于接口不兼容而不能一起工作的类可以一起工作,在软件设计中我们需要将一些”现存的对象&#8…

    数据库 2023年6月14日
    041
  • Linux–>定时任务调度

    指定系统在某个时间执行特点的命令或程序。 任务调度分类: crontab 选项 常用选项 选项 说明 -e 编辑crontab定时任务 -l 查询crontab任务 -r 删除当前…

    数据库 2023年6月14日
    053
  • mysql拆分字符串做条件查询

    mysql拆分字符串作为查询条件 有个群友问一个问题 这表的ancestors列存放的是所有的祖先节点,以 ,分隔 例如我查询dept_id为103的所有祖先节点,现在我只有一个d…

    数据库 2023年5月24日
    069
  • MySQL中的全表扫描和索引树扫描

    引言 在学习mysql时,我们经常会使用explain来查看sql查询的索引等优化手段的使用情况。在使用explain时,我们可以观察到,explain的输出有一个很关键的列,它就…

    数据库 2023年5月24日
    0110
  • gitlab-runner浅谈——【此作业已阻塞,因为该项目没有分配任何可用Runner】解决方法

    作为gitlab的初学者,只能简单记录下自己遇到的问题。不求甚解 安装 下载最新的二进制文件 (参考官网) Download the binary for your system …

    数据库 2023年6月11日
    0125
  • CronExpression使用笔记

    CronExpression一般是使用在自动任务中,可以指定任务执行的时间或者时间规律,下面记录一下表达试的使用说明 CronExpression由7个子表达式组成,7个子表达式之…

    数据库 2023年6月9日
    097
  • SpringBoot快速入门

    虽然我的工作中更多的是与数据库打交道,但是作为一个 Coder,我觉得掌握前后端的 Web技术来说是非常有必要的。 不仅可以帮助我们在工作中更好的理解其他岗位与你对接的人他的工作痛…

    数据库 2023年6月11日
    061
  • proxySQL with MGR

    环境信息 hostname IP port role comm ms81 192.168.188.81 3399 master ms82 192.168.188.82 3399 s…

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