1.注解和注释不是一回事
注解是给人看的,是代码的解释说明,不参与程序执行
注解是给程序看的信息,是代码的解释说明,参与程序运行
注释的语法
//单行注释
/*
*多行注释
*/
/**
*文档注释
*/
注解的语法(可以用在类,属性,方法,参数身上)
@注解
@Override
重载(overload)是编译时多态的体现
- 重载发生在同一个类中, Java允许多个方法同名存在, 但必须满足重载的要求
- 方法名相同, 但是方法的参数列表不同 (可以是参数个数不同, 或者是参数类型不同)
- 静态方法, 构造方法, 成员方法都可以重载
重写(override)是运行时多态的体现
- 重写发生在子类与父类之间, 子类重写父类的方法, 其目的是: 当使用父类型的指针调用子类方法的时候, 可以无需做向下转型。
- 子类方法与父类方法同名
- 访问修饰符要大于等于父类方法
- 参数的个数必须与父类一样, 参数类型等于父类方法的参数类型
- 返回值类型可以小于等于父类方法的返回值类型
- 异常类型1 子类<=父类
内置注解
jdk官方给我们提供的注解,我们可以使用,例如@Override三方库或者中间件给我们提供的注解
我们使用例如junit依赖,可以使用@test@befor@after注解
例如安装servlet-api依赖
元注解
注解注解的注解
动词:用一个注解来解释程序
名称:注解是一种Java源文件
SpringBoot框架
Spring公司
整合jsp
1.配置web目录(或者叫webapp),放在src/main/web
2.安装依赖
放在<dependency></dependency>中,不要放在<dependencyManagement
</dependencyManagement>中
<!-- 支持jsp的jar包 -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
<scope>provided</scope>
</dependency>
3.配置maven打包web目录(写在pom.xml中的bulid标签中,把plugins折叠起来写在后i面)
<resources>
<resource>
<directory>src/main/web</directory>
<targetPath>META-INF/resources</targetPath>
<includes>
<include>**/*.*</include>
</includes>
</resource>
</resources>
4.配置jsp文件的前缀和后缀
MyBatis-Plus框架
持久层
操作数据存储的层
与什么数据库无关
与什么技术无关
ORM
O(Objeck)R(Relationship)M(Mapping)对象关系映射,Mybatis框架就是一款持久层的ORM框架
MyBatis与JDBC的关系
MyBatis的底层是JDBC,基于反射技术在运行时调用JDBC,实现数据库编程
Mybatis-Plus 苞米豆 baomidou官方文档
https://baomidou.com/
Mybatis-Plus与SpringBoot的关系
Mybatis-Plus框架能够与SpringBoot框架无缝衔接
学习一门框架
1.搭建环境
(1)安装那些依赖
com.mysql.cj.jdbc.Driver 8.x版本
com.mysql.jdbc.Driver 5.x版本
(2)需要哪些配置
(3)框架提供了哪些api,怎么用
2.如何应用
3.研究他的底层
代码写在工程的哪个包里面
dao包:用原生的JDBC写
mapper包:用mybatis -puls框架写,包名建议叫mapper
创建持久层的包
在mapper子包中定义接口
在xml文件中编写sql语句
设置xml文件头
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper>
</mapper>
在idea插件市场中搜索并安装MybatisX插件
实现接口与xml绑定后快速访问
检查接口中的抽象方法在绑定xml文件中是否有对应标签绑定
在启动类中使用@MapperScan("接口文件路径")
如何拿到框架创建的Mapper接口的实现类
拿不到(因为没有物理文件,他存在jvm内存中)
如何拿到框架创建的Mapper接口的实现类的对象?
框架说:实现类你拿不到,对象我帮你创建好放在内存中,你直接拿对象