/** * 查询 * * @param proxy * @return */ public <T> T queryFrist(SqlProxy proxy) { String sql = proxy.getSql(); if (sql.indexOf("limit") < -1) { sql += " limit 0,1"; proxy = SqlProxy.select(proxy.getRelClass(), sql, proxy.paramsArgs()); } List<T> list = queryList(proxy); if (list != null && list.size() > 0) { return list.get(0); } return null; }
/** * 查询 * * @param proxy * @return */ @SuppressWarnings("unchecked") public <T> List<T> queryList(SqlProxy proxy) { Cursor cursor = db.rawQuery(proxy.getSql(), proxy.paramsArgs()); try { List<T> list = new ArrayList<T>(); while (cursor.moveToNext()) { T t = (T) cursorToBean(cursor, proxy.getRelClass()); list.add(t); } return list; } catch (Exception e) { e.printStackTrace(); } finally { if (cursor != null) cursor.close(); cursor = null; } return null; }
/** * 删除 * * @param obj */ public void delete(Object obj) { if (obj == null) return; checkOrCreateTable(obj.getClass()); SqlProxy proxy = SqlProxy.delete(obj); db.execSQL(proxy.getSql(), proxy.paramsArgs()); }
/** * 执行 * * @param proxy */ public void execProxy(SqlProxy proxy) { db.execSQL(proxy.getSql(), proxy.paramsArgs()); }