/** * 查询 * * @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()); }
public <T> List<T> queryAll(Class<T> clazz) { checkOrCreateTable(clazz); SqlProxy proxy = SqlProxy.select(clazz, null, null); return queryList(proxy); }
/** * 通过sql查询 * * @param clazz * @param sql * @param args * @return */ public <T> List<T> queryList(Class<T> clazz, String where, Object... whereargs) { checkOrCreateTable(clazz); SqlProxy proxy = SqlProxy.select(clazz, where, whereargs); return queryList(proxy); }
/** * 执行 * * @param proxy */ public void execProxy(SqlProxy proxy) { db.execSQL(proxy.getSql(), proxy.paramsArgs()); }