一 : maven的项目管理
(一) 统一版本控制
- 可以确保同一组织的jar包的版本保持一致
- 对于依赖的jar包进行升级或者降级变得更加容易
(二) 继承
建立父子工程 —> pom工程和模块
打包方式:jar, war, pom
父子工程的要素:
父工程的打包方式为pom
子工程中要有
- 确实只有compile的包会被依赖传递, 但是继承和依赖传递是不同机制, 只要是父工程存在的包, 子工程均可以继承
问题: 既然父工程的包会被子工程所继承, 但是如果子工程并不需要这个包, 那么是否就造成了项目jar的冗余?
解决方案: 工程必备的包写在中, 可选包放在中
这个标签声明jar包
父工程
子工程
(三) 聚合
操作父工程就是操作整个工程(父工程及其子工程)
二 : 在idea中的使用
(一) 创建项目
详见第一天idea的操作视频
(二) 发布web项目
- 集成tomcat
- 安装tomcat插件
三 : 框架简介
三层架构:
User interface layer : 用户交互层
Business logic layer : 业务逻辑层
Data access layer : 数据交互层
三层架构中的类统称为功能类, 至于说实体类只是作为数据流转的载体
框架就是提取公共代码, 简化开发, 提高效率的半成品
可以参照毛坯房进行理解
架构型框架和功能性框架
用户交互层: springmvc, strust2, strust
数据访问层: mybatis, hibernate, spring-data-jpa
全栈: spring
四 : Mybatis介绍
(一) 概述
Mybatis是一款优秀的dao层框架
支持自定义sql, 存储过程, 高级映射
通过xml配置或者注解配置将数据库中的数据封装到java的数据类型中
Mybatis对jdbc进行的封装, 简化了开发
(二) ORM
Orm : object reletion mapping , 对象关系映射
(三) Jdbc的缺点
- 代码量大, 步骤多, 编码繁琐
- 频繁的创建连接释放资源, 造成系统性能的极大浪费
- Sql硬编码
- 传参硬编码
- 处理结果硬编码
(四) mybatis优点
- 简化jdbc的开发
- 灵活, xml将sql从代码中分离出来, 降低代码的耦合度
- 提供sql标签, 可以重用sql
- 支持动态sql
- 支持自定义封装
- 缓存机制
- 延迟加载
五 : 入门案例
(一) 添加依赖
(二) 创建数据库
CREATE TABLE `girl` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
`address` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4;
INSERT INTO `girl` VALUES ('1', '貂蝉', '18', '洛阳');
INSERT INTO `girl` VALUES ('2', '西施', '14', '越国');
INSERT INTO `girl` VALUES ('3', '杨玉环', '16', '长安');
(三) 实体类
(四) 核心配置文件
(五) 映射文件
(六) 单元测试