学习总结

  • 一、MyBatis
    • 1、MyBatis程序流程
    • 2、MyBatis CRUD
    • 3、一对多、多对一的结果集映射
    • 4、动态SQL
  • 二、Spring
    • 1、依赖注入
    • 2、bean的作用域
    • 3、bean的自动装配
      • 在XML中配置
      • 使用注解
    • 4、整合MyBatis

一、MyBatis

1、MyBatis程序流程

  • 导入 MyBatis 核心 jar 包
  • 编写 MyBatis 核心配置 文件(配置数据源、事务管理)
  • 编写 MyBatis 工具类
  • 编写实体类
  • 编写Mapper接口
  • 编写Mapper接口对应的mapper.xml 配置文件(namespace对应的就是接口)
  • mapper.xml配置文件注册到 MyBatis配置文件中
  • 测试运行

2、MyBatis CRUD

  • 注解 @Param:在接口方法前加这个注解的意思就是SQL语句编写的时候,直接取注解中的值即可,不会再取参数值。
  • 如果方法的参数过多或不清楚参数的数量,就使用Map作为参数类型。
  • 增删改需要提交事务。

3、一对多、多对一的结果集映射

  • 关联(association)用于一对一和多对一,多对一就是关联引用关系。
  • 集合(collection)用于一对多,一对多就是包含关系。
  • JavaType和TypeOf用于指定这个Java类型。

4、动态SQL

  • if ,set,choose,trim,foreach 标签的作用和拼接的方法灵活运用

二、Spring

1、依赖注入

  • 通过构造器注入时需要添加有参构造方法
  • 通过set注入时,需要添加set方法,setXXX()

2、bean的作用域

  • 单例(Singleton):在整个应用中,只创建bean的一个实例(默认就是单例)
  • 原型(Prototype):每次注入或者通过Spring应用上下文获取都会创建一个新的bean实例
  • 会话(Session):在web应用中,为每个回话创建一个bean实例
  • 请求(Rquest):在Web应用中,为每个请求创建一个bean实例

3、bean的自动装配

在XML中配置
  • byName自动装配:通过setXXX方式注入
  • byType自动装配:使用autowire byType首先需要保证同一类型的对象,在spring容器中唯一。如果不唯一,会报不唯一的异常。
使用注解
  • @Autowired是按类型自动转配的,不支持id匹配。需要导入 spring-aop的包!
  • @Autowired是根据类型自动装配的,加上@Qualifier则可以根据byName的方式自动装配,@Qualifier不能单独使用。
  • @Resource如有指定的name属性,先按该属性进行byName方式查找装配。

4、整合MyBatis

  • 步骤:

1、 导入相关jar包(junit、spring相关、mybatis、mybatis-spring整合包 、mysql-connector-java、aspectJ AOP 织入器、)
2、配置Maven静态资源过滤问题
3、编写配置文件
4、代码实现

  • 整合实现

1、引入Spring配置文件
2、配置数据源
3、注入SQLSessionFactory,配置configLocation关联Mybatis配置文件和mapperLocation
4、 注册sqlSessionTemplate,关联sqlSessionFactory
5、添加Mapper接口的实现类;私有化sqlSessionTemplate
6、注册bean实现

MyBatis和Spring总结相关推荐

  1. MyBatis - 6.Spring整合MyBatis

    1.查看不同MyBatis版本整合Spring时使用的适配包: http://www.mybatis.org/spring/ 2.下载整合适配包 https://github.com/mybatis/ ...

  2. Mybatis和Spring集成 sessionFactory.openSession() 事务不生效问题

    问题描述 Mybatis和Spring集成,查阅官方文档,得知Spring总会为你处理事务. 官方文档连接:http://mybatis.org/spring/zh/transactions.html ...

  3. Spring(四)——AOP、Spring实现AOP、Spring整合Mybatis、Spring中的事务管理

    文章目录 1. 什么是AOP 2. 使用Spring实现AOP 2.1 使用Spring的API 接口实现 2.2 自定义实现 2.3 使用注解实现 3. 整合MyBatis 3.1 MyBatis- ...

  4. Mybatis与Spring整合之配置文件方式

    Mybatis与Spring整合之配置文件 案例制作步骤--基础准备工作 ⚫ 环境准备 导入Spring坐标,MyBatis坐标,MySQL坐标,Druid坐标 ⚫ 业务类与接口准备 创建数据库表,并 ...

  5. MyBatis 与Spring 整合分析

    http://www.mybatis.org/spring/zh/index.html 这里我们以传统的Spring 为例,因为配置更直观,在Spring 中使用配置类注解是一样的. 在前面的课程里面 ...

  6. MyBatis整合Spring的实现(2)

    2019独角兽企业重金招聘Python工程师标准>>> 分析 MyBatis整合Spring的实现(1)中代码实现的4.1可以知道,XMLConfigBuilder类读取MyBati ...

  7. mybatis和spring整合时这个报错,应该这样解决!

    01 问题描述 今天在写mybatis和spring整合的时候,出现了个问题,其实也没有多难,就是自己没有仔细看,特此记录一下. 报错问题如下: org.springframework.beans.f ...

  8. 使用MyBatis和Spring构建Java Web应用程序

    这篇文章将展示如何在Spring环境中使用带有MyBatis框架的MYSQL DB创建学生注册应用程序. 这是一个简单的应用程序,旨在在注册期间从用户收集输入详细信息,将详细信息保存在MYSQL DB ...

  9. MyBatis 3 – Spring集成教程

    作为本教程的第一步(带有MyBatis 3的Spring MVC 3 CRUD示例),我们将定义一个MyBatis服务,该服务将帮助我们在数据库上执行CRUD操作. 我们有一个用于User的域类和一个 ...

  10. MyBatis整合Spring原理分析

    目录 MyBatis整合Spring原理分析 MapperScan的秘密 简单总结 假如不结合Spring框架,我们使用MyBatis时的一个典型使用方式如下: public class UserDa ...

最新文章

  1. 内存都没了,还能运行程序?
  2. PHP调用Webservice实例
  3. python dict根据value找对应的key_一个不得不了解的Python库——collections
  4. javascript --- 再识闭包
  5. Linux虚拟机下使用USB转串口线——配置minicom、以及screen的使用
  6. bzoj 3367: [Usaco2004 Feb]The Big Game 球赛(DP)
  7. 博弈论的经典入门课程和资料
  8. 如何传递NoteExpress的参考文献(包括题录和附件)给他人?
  9. 等额本金和等额本息还款方式的差异分析
  10. java解压加密的7z格式文件
  11. Docker版本变化说明
  12. [收集]仿163邮箱的JS编辑器
  13. 7-6 然后是几点(15 分)
  14. Android自定义控件三部曲
  15. TLM通信 — UVM
  16. es6 javascript的字符串对象新增团员方法
  17. 2019世界机器人大会圆满落幕
  18. 自制圆形文字ICON
  19. 阿里如何实现海量数据实时分析技术-AnalyticDB
  20. 创维盒子T1-H2903_1+8G_安卓4.4.2_当贝桌面-刷机固件包

热门文章

  1. java-循环变量定义问题
  2. Python中logging日志使用
  3. 初识python之django创建工程
  4. Leetcode: Reorder List Summary: Reverse a LinkedList
  5. 使用PhoneNumberValidator判断用户输入的电话格式,并用PhoneFormatter对电话号码格式化。...
  6. 基恩士光纤传感器怎么恢复出厂设置_光纤故障排查测试必备神器
  7. 拓端tecdat|R语言多元时间序列滚动预测:ARIMA、回归、ARIMAX模型分析
  8. Linux复习-shell程序设计
  9. (2)python_enumerate
  10. Servlet教程第0~3讲笔记