android sqlite 数据库 orm
来源:互联网 发布:日本犯罪推理知乎 编辑:程序博客网 时间:2024/05/01 07:36
---------------------------------------------------------------------------------------------orm框架----------------------------------------------------------------------------------------------
使用教程:
一、首先下载orm库:http://download.csdn.net/detail/l827995939/9851910
二、创建数据库和表
数据库帮助类:
public class DBOpenHelper extends SQLiteOpenHelper {
// 数据库名字
private static final String name = "RichMedia.db";
// 数据库版本号
private static final int version = 14;
private static String Tag = DBOpenHelper.class.getSimpleName();
private static DBOpenHelper instance;
/**
* ,默认构造器
*
* @param context
*/
private DBOpenHelper(Context context) {
super(context, name, null, version);
}
private DBOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
}
private DBOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version, DatabaseErrorHandler errorHandler) {
super(context, name, factory, version, errorHandler);
}
public static DBOpenHelper getInstance(Context context) {
if (instance == null) {
instance = new DBOpenHelper(context);
}
return instance;
}
@Override
public void onCreate(SQLiteDatabase db) {
Log.i(Tag, "-------------------create table-------------------");
//创建sql语句
String create_release = "create table release(id int, runtime int, node int, mqtt int)";
db.execSQL(create_release);
String add_release = "insert into release values(1, 0, 0, 0)";
db.execSQL(add_release);
String create_settings = "create table settings(id int, server_ip varchar(20), server_port varchar(10), server varchar(20))";
db.execSQL(create_settings);
String add_settings = "insert into settings values(1, \"0\", \"1883\", null)";
db.execSQL(add_settings);
// 屏幕横竖屏记录
String create_screen = "create table Screen(id integer primary key autoincrement, width varchar(20), height varchar(20), remark varchar(50))";
db.execSQL(create_screen);
Log.i(Tag, "-------------------create table success-------------------");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// String add_settings = " UPDATE settings SET server_ip =\"0\" where id = 1;";
// db.execSQL(add_settings);
// String add_release = "UPDATE release SET runtime = 0,node = 0,mqtt = 0 where id=1;";
// db.execSQL(add_release);
// 屏幕横竖屏记录
// String create_screen = "create table Screen(id integer primary key autoincrement, width varchar(20), height varchar(20), remark varchar(50))";
// db.execSQL(create_screen);
Log.i(Tag, "-------------------update success-------------------");
}
}
应用程序Application 创建:
public class MyApplication extends Application {
// 数据库帮助类
private DBOpenHelper SqliteHelper;
@Override
public void onCreate() {
super.onCreate();
SqliteHelper = DBOpenHelper.getInstance(getApplicationContext());
SqliteHelper.getWritableDatabase();
//初始化配置信息
//BlockCanary.install(this, new AppBlockCanaryContext());
}
}
三、创建数据实体类
@TableName("settings")
public class Settings {
@PrimaryKey(autoincrement = true)
@ColumnName("id")
private int Id;
@ColumnName("server_ip")
private String Server_ip;
@ColumnName("server_port")
private String Server_port;
@ColumnName("server")
private String Server;
public int getId() {
return Id;
}
public void setId(int id) {
Id = id;
}
public String getServer_ip() {
return Server_ip;
}
public void setServer_ip(String server_ip) {
Server_ip = server_ip;
}
public String getServer_port() {
return Server_port;
}
public void setServer_port(String server_port) {
Server_port = server_port;
}
public String getServer() {
return Server;
}
public void setServer(String server) {
Server = server;
}
}
四、创建dao层类
public class SettingsDao extends DaoSupportImpl<Settings> implements IDaoSupport<Settings>{
private SQLiteDatabase db;
private Context context;
public SettingsDao(Context context, SQLiteDatabase db) {
super(db);
this.context = context;
this.db = db;
}
// public SettingsDao(Context context) {
// this.context = context;
// db = DBOpenHelper.getInstance(context).getWritableDatabase();
// }
/**
* 更新数据
* @param columnName
* @param value
*/
public void Update(String columnName,String value){
ContentValues values = new ContentValues();
values.put(columnName, value);
String whereClause = "id=?";
String[] whereArgs = new String[] { String.valueOf(1) };
db.update("settings", values, whereClause, whereArgs);
}
/**
* 查询数据
* @param id
* @return
*/
public Cursor getCursor(int id){
String[] columns = new String[] { "id", "server_ip", "server_port", "server"};
String selection = "id = ?";
String[] selectionArgs = { String.valueOf(id) };
String groupBy = null;
String having = null;
String orderBy = null;
return db.query("settings", columns, selection,selectionArgs, groupBy, having, orderBy);
}
@Override
public int update(Settings settings) {
return super.update(settings);
}
@Override
public Settings find(Serializable id) {
return super.find(id);
}
// public String getUrl(){
// Cursor cursor = getCursor(1);
// String url = "";
// while (cursor.moveToNext()){
// url = cursor.getString(cursor.getColumnIndex("server_ip")).toString();
// break;
// }
// return url;
// }
}
五、程序中调用
private final SettingsDao dao = new SettingsDao(this, DBOpenHelper.getInstance(this).getWritableDatabase());
Settings settings = dao.find(0);
- android sqlite 数据库 orm
- android sqlite orm框架
- Android下Sqlite数据库ORM框架之GreenDao详解
- Android下Sqlite数据库ORM框架之GreenDao详解
- 反射实现Android Sqlite Orm
- android sqlite的orm框架
- Android 轻量级sqlite orm 框架
- Android SQLite ORM的框架
- android Sqlite Orm 实现方式
- Android 数据库ORM框架
- Android-数据库-ORM框架
- 快速&轻量级的 Android SQLite ORM 映射框架,尽可能的简化数据库操作。
- greenDAO – Android ORM for SQLite
- 一个简单的Android SQLite ORM框架
- greenDAO – Android ORM for SQLite
- SQL学习笔记之数据库专题(三):Android下Sqlite数据库ORM框架之GreenDao详解
- Android ORM 数据库的使用
- Android ORM数据库框架对比
- java基本类型对应包装类的静态缓存
- socketcluster.js前端写法接受后端信息。
- 选择排序的两种实现(Java语言)di
- POI 操作 Excel
- JDK1.5/1.6/1.7之新特性总结
- android sqlite 数据库 orm
- 全选、全不选,批量操作
- 线程的生命周期--Java基础069
- InnoDB: Cannot allocate memory for the buffer pool
- ubuntu 基本命令-开启root登陆、设置root密码、配置镜像源
- Android Studio 构建包名提示错误
- Image-Loader详解
- 用easyUI中的datagrid想在修改完成后页面还停留在当前页面 而且页面没有明显的刷新
- 基于TCP的服务器/客户端通信