初始化
/**
* Created by 智江鹏
*/
public class Z_DataBaseHelper extends OrmLiteSqliteOpenHelper {
private final static String DATABASE_NAME = "lifes.db";//创建数据以.db结尾
private final static int VERSION = 3;//数据库的版本号
private Map<String, Dao> maps = new HashMap<>();
//使用单例模式
private static Z_DataBaseHelper instance;
public static synchronized Z_DataBaseHelper getInstance(Context context) {
if (instance == null) {
synchronized (Z_DataBaseHelper.class) {
if (instance == null) {
instance = new Z_DataBaseHelper(context);
}
}
}
return instance;
}
/**
* 获得数据库的访问对象
*
* @param cls
* @return
* @throws SQLException
*/
public synchronized Dao getDao(Class cls) throws SQLException {
Dao dao = null;
String className = cls.getSimpleName();//通过反射获得类名
if (maps.containsKey(className)) {
dao = maps.get(className);
}
if (dao == null) {
dao = super.getDao(cls);
maps.put(className, dao);
}
return dao;
}
/**
* 关闭所有操作
*/
public void close() {
super.close();
for (String key : maps.keySet()) {
Dao dao = maps.get(key);
dao = null;
}
}
public Z_DataBaseHelper(Context context) {
super(context, DATABASE_NAME, null, VERSION);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase, ConnectionSource connectionSource) {
//完成对数据库的创建,以及表的建立 (第一次操作数据库时候,被调用 )
try {
TableUtils.createTable(connectionSource, Life_UserInfo.class);
TableUtils.createTable(connectionSource, Obu_Info.class);
TableUtils.createTable(connectionSource, ObuTrade_Info.class);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, ConnectionSource connectionSource, int i, int i1) {
try {
TableUtils.dropTable(connectionSource, Life_UserInfo.class, true);
TableUtils.dropTable(connectionSource, Obu_Info.class, true);
TableUtils.dropTable(connectionSource, ObuTrade_Info.class, true);
} catch (Exception e) {
e.printStackTrace();
}
}
}
获取DAO
public Z_TradeInfoDao(Context context) {
this.context = context;
helper = Z_DataBaseHelper.getInstance(context);
try {
obudao = helper.getDao(ObuTrade_Info.class);
} catch (Exception e) {
e.printStackTrace();
}
}
增
Life_Devices user = new Life_Devices();
user.setId(UUID.randomUUID().toString());
user.setDevicename(devicename);
user.setDeviceid(Deviceid);
user.setStorid(Storid);
userDao.create(user);
删
Life_Devices account1 = userDao.queryBuilder().where().eq("storid", account).query().get(0);
userDao.delete(account1);
单条件查询
List<Life_Devices> getId;
public List<Life_Devices> getID(String account) {
try {
getId = userDao.queryBuilder().where().eq("storid", account).query();
return getId;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
多条件查询
QueryBuilder<VideoTagInfo, Integer> queryBuilder = videoTagInfoIntegerDao.queryBuilder();
try {
queryBuilder.where().eq("value",roomId).and().eq("myFocus",true);
VideoTagInfo videoTagInfo = queryBuilder.queryForFirst();
long count = queryBuilder.countOf();
Log.i("ss","___________________________________count:"+count+"_____videoTagInfo:"+videoTagInfo);
if(videoTagInfo != null){
return true;
}
} catch (SQLException e) {
Log.i("ss","____________________________________________e:"+e);
e.printStackTrace();
}
更新
UpdateBuilder<Life_Devices, Integer> life_devicesIntegerUpdateBuilder = userDao.updateBuilder();
life_devicesIntegerUpdateBuilder.updateColumnValue("storid", storid).where().eq("deviceid", deviceid);
life_devicesIntegerUpdateBuilder.update();