Java注解与枚举详解及数据库操作基础
需积分: 9 106 浏览量
更新于2024-08-13
收藏 21KB MD 举报
"Day28的学习笔记主要涵盖了Java注解、枚举类、数据库基础知识以及SQL的数据类型和数据表操作。"
#### Java 注解(Annotation)
注解在Java中是一种元数据,它提供了向编译器或JVM传递信息的方式。`@interface` 关键字用于定义注解类型。注解的生命周期由`@Retention`注解控制,它指定了注解的保留策略,例如运行时(Runtime)、编译时(Class)或源码时(Source)。`@Target`注解则定义了注解可以应用于哪些程序元素,如类、方法、变量等。
注解的属性可以设置默认值,例如:
```java
@interface MyAnnotation {
String name(); // 必须提供值
int age() default 10; // 可以有默认值
boolean birth = false; // 常量属性,定义时必须赋值
}
```
通过反射API可以获取类、方法等上的注解信息,如`getAnnotations()`和`getAnnotation(Class<? extends Annotation> annotationClass)`。
#### 枚举类(Enum)
枚举类在Java中是一种特殊的类,用于定义一组固定的实例。枚举类的实例通常代表常量。创建枚举类的基本语法如下:
```java
enum Color {
RED, GREEN, BLUE
}
```
枚举类还可以包含方法、抽象方法,如果包含抽象方法,则枚举类会自动变为抽象枚举。每个枚举实例可以直接调用这些方法,无需显式实例化。例如:
```java
enum Shape {
CIRCLE("Circle"), SQUARE("Square");
private String name;
Shape(String name) {
this.name = name;
}
public void printName() {
System.out.println(name);
}
}
```
#### 数据库基础
数据库是一种持久化存储数据的系统,用于管理关系型数据。MySQL是一个广泛使用的开源关系型数据库。在数据库中,数据以表格形式存储在各个库(Database)中,而表(Table)则用于表示实体及其之间的关系。
例如,一个用户登录系统可能需要以下表格:
- 用户表(Users):存储用户名、密码等信息
- 角色表(Roles):存储角色名称
- 权限表(Permissions):存储权限标识
- 用户角色关系表(User_Roles):连接用户和角色
- 角色权限关系表(Role_Permissions):连接角色和权限
#### SQL 数据类型
在SQL中,常见的数据类型包括:
- 数值类型:如`INT`、`FLOAT`、`DOUBLE`、`DECIMAL`
- 日期时间类型:如`DATE`、`YEAR`、`DATETIME`、`TIME`
- 字符串类型:如`CHAR`(固定长度)和`VARCHAR`(可变长度)
`CHAR`类型指定固定长度,不足部分会用空格填充,如`CHAR(20)`。`VARCHAR`类型则根据实际内容长度存储,如`VARCHAR(30)`。
#### 数据表操作(DML)
在SQL中,数据操纵语言(DML)用于对数据进行操作,例如:
- **创建表**:`CREATE TABLE 表名 (字段名 类型 [约束], 字段名 类型 ...)`
- **插入数据**:`INSERT INTO 表名 (字段...) VALUES (值...)`
除此之外,还有更新(UPDATE)、删除(DELETE)等操作。
这个笔记涵盖了Java编程中的注解和枚举类,以及数据库管理与SQL基础操作的知识点,对于理解和操作数据库系统以及编写Java代码具有重要参考价值。
点击了解资源详情
点击了解资源详情
点击了解资源详情
WY977
- 粉丝: 0
- 资源: 1
最新资源
- JavaScript实现的高效pomodoro时钟教程
- CMake 3.25.3版本发布:程序员必备构建工具
- 直流无刷电机控制技术项目源码集合
- Ak Kamal电子安全客户端加载器-CRX插件介绍
- 揭露流氓软件:月息背后的秘密
- 京东自动抢购茅台脚本指南:如何设置eid与fp参数
- 动态格式化Matlab轴刻度标签 - ticklabelformat实用教程
- DSTUHack2021后端接口与Go语言实现解析
- CMake 3.25.2版本Linux软件包发布
- Node.js网络数据抓取技术深入解析
- QRSorteios-crx扩展:优化税务文件扫描流程
- 掌握JavaScript中的算法技巧
- Rails+React打造MF员工租房解决方案
- Utsanjan:自学成才的UI/UX设计师与技术博客作者
- CMake 3.25.2版本发布,支持Windows x86_64架构
- AR_RENTAL平台:HTML技术在增强现实领域的应用