Java - 注解使用示例(解析注解生成创建SQL表语句)

这篇博客介绍了如何利用Java注解生成创建数据库表的SQL命令。通过定义如@DBTable、@Constraints、@SQLString和@SQLInteger等自定义注解,对类和字段进行标注,然后编写注解解析器来分析这些信息,最终实现从注解到SQL语句的转换。文章包含注解的详细解释、示例代码以及运行结果。
摘要由CSDN通过智能技术生成

当你觉得你用反射的情况非常少的时候,通常就是因为注解接触的少。


目的

使用注解来自动生成一个建数据库表的SQL命令。

注解

我们会创建如下的四个注解,用于进行数据库表,以及字段本身表述的注解。

  1. @DBTable 代表数据库表,注解元素name表示表名;
  2. @Constraints
    代表对数据表每一列的条件补充,有primaryKey是不是主键,默认false,allowNull是否允许为空,默认true,unique数据是否唯一,默认false;
  3. @SQLString
    代表表中的String列,注解元素value表示列长度,name表示列名,constraints表示对列的一些约束条件;
  4. @SQLInteger 代表表中的int列,name表示列名,constraints表示对列的一些约束条件;

@DBTable

package test1;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Created by Joe on 2018/2/22.
 */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface DBTable {
   
    public String name() default "";
}

@Constraints

package test1;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Created by Joe on 2018/2/22.
 */

@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Constraints {
   
    //主键约束
    boolean primaryKey() default false;
    //非空约束
    
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值