xUtils系列之DbUtils-Id,NoAutoIncrement注解
来源:互联网 发布:ddos 阿里云 编辑:程序博客网 时间:2024/06/05 09:46
Id注解定义:
NoAutoIncrement注解定义:
DbUtils解析代码:
注意事项:
1.当类中有id或_id时,可以省略Id的注解
2.当id,_id或@Id注解Field为integer型时,primary key默认为autoincrement
此时,可以用@NoAutoIncrement注解该字段,使其不自增
3.@NoAutoIncrement注解仅用于primary key.
4.一个类中,只可以使用一个@Id注解,当使用多个@Id注解时,primary key未知
5.一个类中,如果同时存在id,_id,@Id时,primary key优先级为 @Id > id > _id
6.@Id如果使用Column参数,则primary key列名为Column值
7.@Id如果不指明参数,则primary key列名为字段名
用法:
@Target(ElementType.FIELD)@Retention(RetentionPolicy.RUNTIME)public @interface Id { String column() default "";}
NoAutoIncrement注解定义:
@Target(ElementType.FIELD)@Retention(RetentionPolicy.RUNTIME)public @interface NoAutoIncrement {}
DbUtils解析代码:
Field primaryKeyField = null;Field[] fields = entityType.getDeclaredFields();if (fields != null) { for (Field field : fields) { if (field.getAnnotation(Id.class) != null) { primaryKeyField = field; break; } } if (primaryKeyField == null) { for (Field field : fields) { if ("id".equals(field.getName()) || "_id".equals(field.getName())) { primaryKeyField = field; break; } } }}
注意事项:
1.当类中有id或_id时,可以省略Id的注解
2.当id,_id或@Id注解Field为integer型时,primary key默认为autoincrement
此时,可以用@NoAutoIncrement注解该字段,使其不自增
3.@NoAutoIncrement注解仅用于primary key.
4.一个类中,只可以使用一个@Id注解,当使用多个@Id注解时,primary key未知
5.一个类中,如果同时存在id,_id,@Id时,primary key优先级为 @Id > id > _id
6.@Id如果使用Column参数,则primary key列名为Column值
7.@Id如果不指明参数,则primary key列名为字段名
用法:
@Id@NoAutoIncrementprivate int id;// private int id;//@Id(column="ID")//private int id;//@Id(column="name")//private String name;
0 0
- xUtils系列之DbUtils-Id,NoAutoIncrement注解
- xUtils系列之DbUtils-Check注解
- xUtils系列之DbUtils-Column注解
- xUtils系列之DbUtils-Table注解
- xUtils系列之DbUtils-Transient注解
- xUtils系列之DbUtils-Unique注解
- xUtils系列之DbUtils-NotNull注解
- xUtils系列之DbUtils-Foreign注解
- xUtils系列之DbUtils-Finder注解
- xUtils系列之DbUtils-概览
- xUtils系列之DbUtils-查询
- xUtils系列之DbUtils-保存自定义类型
- xUtils系列之DbUtils-保存自定义类型
- xUtils框架之DbUtils
- xUtils系列之DbUtils-开启Sqlite3外键约束
- xUtils系列之DbUtils-增,删,更新,替换操作
- xUtils系列之ViewUtils-ContentView注解
- xUtils系列之ViewUtils-PreferenceInject注解
- 给定一个源代码文件(.cs, .java),输出该文件的总行数、空行数、注释行数、代码行数
- 001.python调用C函数
- day20/FileDemo.java
- 使用layer的属性allowsEdgeAntialiasing消除锯齿
- R的交互式时间序列包dygraphs
- xUtils系列之DbUtils-Id,NoAutoIncrement注解
- Java基础——集合List+Set+泛型+Map
- day20/JavaFileList.java
- day20/PrintStreamDemo.java
- Android - Uri
- python 第一天(3)
- Linux命令 一
- 如何快速的查看一段代码的执行时间
- android晋级面试题