1. 初步认识
GItHub库
自动化且比系统自带数据库操作快1倍!
LiteOrm是android上的一款数据库(ORM)框架库。速度快、体积小、性能高。开发者基本一行代码实现数据库的增删改查操作,以及实体关系的持久化和自动映射。

2.导入orm相关jar包
jar包可以在上面的官网例子里面找到
下面讲讲如何在项目中添加jar
1.将jar复制到自己的项目文件夹下,如下图:

选中lib-orm-1.9.2jar,然后右键,在列表中选择add as librrary.... 即可
3.建表
在任意一个类下面添加这句话即可;
@PrimaryKey(AssignType.AUTO_INCREMENT)
private int primary_id;
比如:我自己写的这个类

其实还有其他的注解,但是大家一般也都是常用的居多,就不介绍那么多了。
4.使用
首先写一个数据库帮助类:【我自己写了一个,要是嫌麻烦的话,可以直接用我的也行】
package com.anrongplcae.utils;import android.annotation.SuppressLint;
import android.content.Context;import com.litesuits.orm.LiteOrm;
import com.litesuits.orm.db.assit.QueryBuilder;
import com.litesuits.orm.db.assit.WhereBuilder;
import com.litesuits.orm.db.model.ColumnsValue;
import com.litesuits.orm.db.model.ConflictAlgorithm;import java.util.Collection;
import java.util.List;/*** 数据库工具类* * @author Mazhanzhu**/
public class LiteOrmDBUtil {public static String DB_NAME;private static LiteOrm liteOrm;public static Context mContext;/*** 数据库名称** @return*/private static String getUserDatabaseName() {return "行业场所_DB";}/*** 创建级联数据库** @param context*/public static boolean createCascadeDB(Context context) {mContext = context.getApplicationContext();DB_NAME = getUserDatabaseName();liteOrm = LiteOrm.newCascadeInstance(mContext, DB_NAME);liteOrm.setDebugged(LogUtil.isDebuggable());return true;}public static LiteOrm getLiteOrm() {if (liteOrm == null) {if (mContext == null) {mContext = mContext.getApplicationContext();}DB_NAME = getUserDatabaseName();liteOrm = LiteOrm.newCascadeInstance(mContext, DB_NAME);liteOrm.setDebugged(LogUtil.isDebuggable());}return liteOrm;}/*** 插入一条记录** @param t*/public static <T> long insert(T t) {return getLiteOrm().save(t);}/*** 插入所有记录** @param list*/public static <T> int insertAll(List<T> list) {return getLiteOrm().save(list);}/*** 以某种条件作为插入标准** @param* @return*/public static <T> long insertAll(Collection<T> t, ConflictAlgorithm config) {return getLiteOrm().insert(t, config);}/*** 以某种条件作为插入标准** @param* @return*/public static <T> long insertAll(List<T> t, ConflictAlgorithm config) {return getLiteOrm().insert(t, config);}/*** 查询所有** @param cla* @return*/public static <T> List<T> getQueryAll(Class<T> cla) {return getLiteOrm().query(cla);}/*** 根据ID查询** @param cla* @return*/public static <T> T getInfoById(String id, Class<T> cla) {return getLiteOrm().queryById(id, cla);}/*** 根据ID查询** @param cla* @return*/public static <T> T getInfoById(long id, Class<T> cla) {return getLiteOrm().queryById(id, cla);}/*** 查询 某字段 等于 Value的值** @param cla* @param field* @param value* @return*/@SuppressWarnings({ "unchecked", "rawtypes" })public static <T> List<T> getQueryByWhere(Class<T> cla, String field,Object[] value) {return getLiteOrm().<T> query(new QueryBuilder(cla).where(field + "=?", value));}/*** 模糊查询* @param cla* @param field* @param value* @param <T>* @return*/public static <T>List<T> getQueryByTime(Class<T> cla,String field,Object[] value){return getLiteOrm().<T>query(new QueryBuilder(cla).where(field +" LIKE ?",value));}/*** 查询 某字段 等于 Value的值 可以指定从1-20,就是分页** @param cla* @param field* @param value* @param start* @param length* @return*/public static <T> List<T> getQueryByWhereLength(Class<T> cla, String field,String[] value, int start, int length) {return getLiteOrm().<T> query(new QueryBuilder(cla).where(field + "=?", value).limit(start,length));}/*** 删除所有 某字段等于 Vlaue的值** @param cla* @param field* @param value*/@SuppressWarnings("deprecation")public static <T> int deleteWhere(Class<T> cla, String field, String[] value) {// liteOrm.delete(cla, WhereBuilder.create().where(field + "=?",// value));return getLiteOrm().delete(cla,WhereBuilder.create(cla, field + "=?", value));}/*** 删除所有 某字段等于 Vlaue的值** @param cla* @param field* @param value*/public static <T> int deleteWhere(Class<T> cla, String field, Object[] value) {return getLiteOrm().delete(cla,WhereBuilder.create(cla, field + "=?", value));}/*** 删除所有** @param cla*/public static <T> int deleteAll(Class<T> cla) {return getLiteOrm().deleteAll(cla);}/*** 仅在以存在时更新** @param t*/public static <T> int update(T t) {return getLiteOrm().update(t, ConflictAlgorithm.Replace);}/*** 以某种条件来整体更新** @param list* @param config* @return*/public static <T> int updateAll(List<T> list, ConflictAlgorithm config) {return getLiteOrm().update(list, config);}public static <T> int updateALL(List<T> list) {return getLiteOrm().update(list);}public static <T> void update(Class<T> cla, String queryCol,String queryValue, String updateCol, String updateValue) {getLiteOrm().update(new WhereBuilder(cla).where(queryCol + " = ?",new String[] { queryValue }),new ColumnsValue(new String[] { updateCol },new Object[] { updateValue }), ConflictAlgorithm.None);}@SuppressLint("NewApi")public void closeDB() {if (liteOrm != null) {liteOrm.close();}}}
然后是初始化:把下面的这段代码放到你自己的Application中,在OnCreate中引用这个方法就可以了。
/*** 初始化数据库*/
private void initOrmLite() {boolean cascadeDB = LiteOrmDBUtil.createCascadeDB(this);if (cascadeDB) {LogUtil.d("创建数据库成功");}
}
最后就是使用了,使用的话,超级简单的:
PerPhotoInfo ppif = new PerPhotoInfo();ppif.setSex("");ppif.setGmsfhm("");LiteOrmDBUtil.insert(ppif);
5.最后

















