黑马教程:Mybatis, Spring, SpringMVC关键知识点解析
需积分: 12 120 浏览量
更新于2024-07-09
收藏 4.45MB DOCX 举报
"黑马Mybatis, Spring, SpringMVC自己记得笔记.docx"
这份文档是对Java开发中常用的Mybatis、Spring和SpringMVC框架的学习笔记,包含了许多关键知识点和常见问题的解答。
1. Mybatis中DAO接口方法ID的含义:
在Mybatis中,DAO接口中的方法名被用作SQL映射的标识,Mybatis通过反射机制根据方法名来找到对应的XML文件中的SQL语句。
2. XML文件中resultType的作用:
resultType用于指定SQL查询结果集映射到的Java类型,它将查询结果自动转换为指定类型的对象集合。
3. Mybatis插入数据时的乱码问题:
如果出现乱码,可能是由于SqlMapConfig.xml配置文件中数据库连接URL缺少`useUnicode=true&characterEncoding=UTF-8`参数,这会导致字符编码设置不正确。
4. resultmap与resulttype的区别:
resultmap是更复杂的映射方式,可以定义映射规则,包括一对一、一对多、多对一等关系映射;而resulttype则是简单的按属性直接映射,适用于简单类型映射。
5. POJO和JAVABeans:
POJO(Plain Old Java Object)是Java中普通对象的简称,通常用来表示业务实体;JAVABeans是一组设计规范,指具有getter和setter方法、无参构造函数的Java类,常用于属性封装。
6. ofType在Java泛型中的意义:
在Java中,oftype用于限制集合元素的类型,例如List<? extends Number> list = new ArrayList<Integer>(); 这里的Integer of Type Number,表示list可以存储任何Number类型的子类对象。
7. SQL连接类型理解:
- 内连接(INNER JOIN):返回两个表中存在匹配的记录。
- 左外连接(LEFT JOIN):返回左表所有记录,右表匹配的记录,右表缺失的部分填充NULL。
- 右外连接(RIGHT JOIN):返回右表所有记录,左表匹配的记录,左表缺失的部分填充NULL。
- 全连接(FULL JOIN):返回两个表所有记录,不匹配的部分填充NULL。
8. 单表查询、一对多、多对多关系:
- 单表查询只涉及一张表的数据操作。
- 一对多关系:一个实体对应多个实体,如一个用户可以有多个角色。
- 多对多关系:两个实体之间相互关联,需要中间表来维护关系,如用户和角色的关系。
9. MyBatis中的#{}和${}:
- #{}是预编译处理,用于防止SQL注入,会被Mybatis替换为?符号。
- ${}是字符串替换,直接将变量值插入到SQL中,可能存在SQL注入风险。
10. Intellij IDEA报错:Error:java不支持发行版本5:
这表示IDEA识别的Java版本过低,需要更新JDK或者调整IDEA的项目JDK版本设置。
11. Spring注解理解:
这部分笔记可能涵盖了Spring的依赖注入、AOP、事务管理等方面的注解,如@Autowired、@Service、@Transactional等,具体解释需要查看原文件的详细内容。
12. Maven更新:
- 可以右键项目,选择Maven,点击Reload Project来刷新项目依赖。
- 或者在右侧Maven面板直接进行更新操作。
13. SSM项目中的Oracle与IDEA连接问题:
这个问题涉及到配置Oracle JDBC驱动,可以通过手动将ojdbc6.jar添加到Maven本地仓库来解决。
14. Maven本地仓库添加Oracle JDBC驱动:
使用命令`mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=<版本号> -Dfile=<ojdbc6.jar的路径>`来安装JDBC驱动到本地仓库。
这些笔记涵盖了Java开发中的一些核心概念和常见问题,对于学习和理解Mybatis、Spring和SpringMVC框架提供了很好的参考。
2020-05-18 上传
2024-01-09 上传
2016-08-05 上传
2023-08-24 上传
2023-04-03 上传
2023-07-23 上传
2023-07-27 上传
2023-06-08 上传
2023-08-05 上传
weixin_51730460
- 粉丝: 0
- 资源: 11
最新资源
- JDK 17 Linux版本压缩包解压与安装指南
- C++/Qt飞行模拟器教员控制台系统源码发布
- TensorFlow深度学习实践:CNN在MNIST数据集上的应用
- 鸿蒙驱动HCIA资料整理-培训教材与开发者指南
- 凯撒Java版SaaS OA协同办公软件v2.0特性解析
- AutoCAD二次开发中文指南下载 - C#编程深入解析
- C语言冒泡排序算法实现详解
- Pointofix截屏:轻松实现高效截图体验
- Matlab实现SVM数据分类与预测教程
- 基于JSP+SQL的网站流量统计管理系统设计与实现
- C语言实现删除字符中重复项的方法与技巧
- e-sqlcipher.dll动态链接库的作用与应用
- 浙江工业大学自考网站开发与继续教育官网模板设计
- STM32 103C8T6 OLED 显示程序实现指南
- 高效压缩技术:删除重复字符压缩包
- JSP+SQL智能交通管理系统:违章处理与交通效率提升