Java注解与枚举详解及数据库操作基础

需积分: 9 0 下载量 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代码具有重要参考价值。