利用反射,创建Android的SQL语句,极大提高速率
来源:互联网 发布:免费网站群发软件 编辑:程序博客网 时间:2024/05/22 12:38
所有表类的父类
public class Table {public static final String prefix = "COLUMN_";public static final String _ID = "_id";public String TABLE_NAME;public String getTABLE_NAME() {return TABLE_NAME;}public void setTABLE_NAME(String tABLE_NAME) {TABLE_NAME = tABLE_NAME;}/** * 通过反射来创建创建表格的SQL语句 * * @param tabled * 要生成SQL语句的表格对象,列的属性都是TEXT类型 * @return SQLite中创建该表格的SQL语句 */public String createTableSQL() {final String TEXT_TYPE = " TEXT";final String COMMA_SEP = ",";StringBuilder sql = new StringBuilder();sql.append("CREATE TABLE ").append(this.getTABLE_NAME()).append(" (").append(_ID).append(" INTEGER PRIMARY KEY,");Field[] fields = getClass().getDeclaredFields();for (int i = 0; i < fields.length; i++) {if (fields[i].getName().startsWith(prefix)) {try {sql.append((String) fields[i].get(this)).append(TEXT_TYPE).append(COMMA_SEP);} catch (IllegalArgumentException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();}}}// sql这时的形式为“...,column_name value,)” 删除最后多出的“,”sql.deleteCharAt(sql.length() - 1);return sql.append(")").toString();}}
表格类
public abstract class DataBaseMetaData {public static final String DB_NAME = "bean_counpon.db";private DataBaseMetaData() {};public static class TableUser extends Table {public static final String TABLE_NAME = "user";public String getTABLE_NAME() {return TABLE_NAME;}public static final String COLUMN_NAME = "name";public static final String COLUMN_PASS_WORD = "pass_word";public static final String COLUMN_GENDER = "gender";public static final String COLUMN_TEL = "tel";public static final String COLUMN_QQ = "qq";public static final String COLUMN_EMAIL = "email";public static final String COLUMN_START_TIME = "start_time";}}
结果:
以后想生成那个表格的SQL语句,直接调用database.execSQL(new TableUser().createTableSQL());
0 0
- 利用反射,创建Android的SQL语句,极大提高速率
- 利用反射拼接sql语句
- 利用sql语句创建job
- 利用反射动态构成sql语句
- 利用反射动态生成sql语句
- 利用Command创建执行SQL语句的模块
- Android中利用反射机制创建实例的代码
- 提高信息的传输速率
- SQL语句的创建
- android 由entity创建创建表的sql语句
- sql之利用create语句创建表
- java 利用注释和反射写一个简单的SQL语句拼接程序,很简单初学者
- 使用基于注解的mybatis时,利用反射和注解生成sql语句
- 利用反射自动生成SQL语句(仿Linq)
- 提高485通讯速率的设计方法
- 提高485通讯速率的设计方法
- 提高485通讯速率的方法
- 多线程下载速率提高的原理
- How To Mirror Controlfile To FRA On ASM (文档 ID 1305674.1)
- projecteuler---->problem=14----Longest Collatz sequence
- 数据结构伪C代码:2.线性表
- OCP 1Z0 051 QUESTION NO: 19
- java+junit+selenium+Eclipse
- 利用反射,创建Android的SQL语句,极大提高速率
- ajax +structs+jison
- 用 Python 脚本实现对 Linux 服务器的监控
- findmnt 命令的八个应用实例
- Redis源码学习1——基本数据结构sds
- ubuntu14.04安装eclipse
- 支付宝开发经验
- 50个常用sql语句
- spring配置文件中的mappingResources、mappingLocations、mappingDirectoryLocations、mappingJarLocations区别