ANGROMandroid sqlite dsl
ANGROM 是一个简单的android 数据库 dsl, 解决了数据库版本控制问题, 提供了select查询类.
使用入门
-
下载并导入jar包
-
创建MyApplication类
public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); }}
-
修改 AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="xx.xx.xx" android:versionCode="1" android:versionName="1.0" > <application android:name=".MyApplication" android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > </application></manifest>
-
创建数据库
public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); MigrationManager migrationManager = new MigrationManager(); Migration user = new CreateTable("users") .addAutoIncrementPrimaryKey("id") .addColumn(Genre.STRING, "name"); migrationManager.addMigration(1, user); // 添加数据库1的迁移, 可以添加很多个 SQLHelper sqlHelper = new SQLHelper(getContext(), migrationManager, "test.db", 1); sqlHelper.getWritableDatabase(); }}
5.修改版本
public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); MigrationManager migrationManager = new MigrationManager(); Migration user = new CreateTable("users") .addAutoIncrementPrimaryKey("id") .addColumn(Genre.STRING, "name"); migrationManager.addMigration(1, user); // 添加数据库1的迁移, 可以添加很多个 Migration person = new CreateTable("person") .addAutoIncrementPrimaryKey("id") .addColumn(Genre.STRING, "age"); migrationManager.addMigration(2, person); Migration test1 = new CreateTable("test1") .addAutoIncrementPrimaryKey("id") .addColumn(Genre.INTEGER, "age"); migrationManager.addMigration(3, test1); Migration test2 = new CreateTable("test2") .addAutoIncrementPrimaryKey("id") .addColumn(Genre.INTEGER, "age"); migrationManager.addMigration(4, test2); SQLHelper sqlHelper = new SQLHelper(getContext(), migrationManager, "test.db", 4); sqlHelper.getWritableDatabase(); }}
-
使用查询
Cursor cursor = new Select("id, name") .from("users") .where(String.format("id=%s", id_.toString())) .query(sqlHelper.getReadableDatabase());if (cursor.moveToNext()) { Assert.assertEquals(cursor.getString(1), "ngdkSelect");} else { Assert.fail("测试失败");}Cursor cursor = new Select("id, name") .from("users") .where("id=?") .query(sqlHelper.getReadableDatabase(), new String[] {id.toString()});if (cursor.moveToNext()) { Assert.assertEquals(cursor.getString(1), "ngdkSelect");} else { Assert.fail("测试失败");}
评论
Mirror DSL
MirrorDSL是一个用来简化Java的反射编程的类库,类似于BeanUtils。如果直接使用Java的反射(Reflection)API,那么代码可能很长,如下:FieldtoSet=null;f
Mirror DSL
0
SQLite Manager
这是一款方便firefox对任何SQLite数据库操作的扩展。使用这款扩展,可以在firefox下很容易的创建表格、建立索引、浏览搜索等操作。此外它还具有一个语法检查功能的下拉式菜单,从而保证用户的操
SQLite Manager
0
SQLite for Delphi
SQLite的一个Delphi的开源封装库,全面支持Delphi4,5,6,7,2005和2006。对于Delphi4和Delphi5请使用带有D4、D5后缀的文件。解压缩下载回来的文件包到Delph
SQLite for Delphi
0
SQLite C++ Wrapper
SQLiteC++Wrapper是一个C++语言对SQLite的最小封装包。示例代码1:#include<string>#include<iostream>#include&l
SQLite C++ Wrapper
0