黑马教程:Mybatis, Spring, SpringMVC关键知识点解析
需积分: 12 138 浏览量
更新于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 上传
2022-11-13 上传
2022-11-28 上传
2016-08-05 上传
2022-06-19 上传
2023-11-22 上传
2020-03-01 上传
weixin_51730460
- 粉丝: 0
- 资源: 11
最新资源
- Angular实现MarcHayek简历展示应用教程
- Crossbow Spot最新更新 - 获取Chrome扩展新闻
- 量子管道网络优化与Python实现
- Debian系统中APT缓存维护工具的使用方法与实践
- Python模块AccessControl的Windows64位安装文件介绍
- 掌握最新*** Fisher资讯,使用Google Chrome扩展
- Ember应用程序开发流程与环境配置指南
- EZPCOpenSDK_v5.1.2_build***版本更新详情
- Postcode-Finder:利用JavaScript和Google Geocode API实现
- AWS商业交易监控器:航线行为分析与营销策略制定
- AccessControl-4.0b6压缩包详细使用教程
- Python编程实践与技巧汇总
- 使用Sikuli和Python打造颜色求解器项目
- .Net基础视频教程:掌握GDI绘图技术
- 深入理解数据结构与JavaScript实践项目
- 双子座在线裁判系统:提高编程竞赛效率