- 依赖:
compile 'com.j256.ormlite:ormlite-android:5.0'
- model
@DatabaseTable(tableName = CRM_DT_BAOGAO_FB4.TABLE_NAME)
public class CRM_DT_BAOGAO_FB4 {
public CRM_DT_BAOGAO_FB4() {
}
@Override
public String toString() {
return super.toString();
}
public static final String TABLE_NAME = "CRM_DT_BAOGAO_FB4";
@DatabaseField(columnName = "JYJL_ID")
private String JYJL_ID;
@DatabaseField(columnName = "ATT1")
private String ATT1;
public String getJYJL_ID() {
return JYJL_ID;
}
public void setJYJL_ID(String JYJL_ID) {
this.JYJL_ID = JYJL_ID;
}
public String getATT1() {
return ATT1;
}
public void setATT1(String ATT1) {
this.ATT1 = ATT1;
}
}
- DatabaseHelper 创建表
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase, ConnectionSource connectionSource) {
Log.d("myorm", "表开始新建");
try {
TableUtils.createTable(connectionSource, CRM_DT_BAOGAO_FB1.class); //附录
Log.d("MyOrm", "表创建成功");
} catch (SQLException e) {
Log.d("MyOrm", "表创建失败");
e.printStackTrace();
}
}
- Dao
public class CRM_DT_BAOGAO_FB4_Dao extends BaseDao<CRM_DT_BAOGAO_FB4,Integer> {
public CRM_DT_BAOGAO_FB4_Dao(Context context) {
super(context);
}
@Override
public Dao<CRM_DT_BAOGAO_FB4, Integer> getDao() {
try {
return getHelper().getDao(CRM_DT_BAOGAO_FB4.class);
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
}
public abstract class BaseDao<T, ID> {
private DatabaseHelper helper;
public BaseDao(Context context) {
helper = DatabaseHelper.getInstance(context);
}
public DatabaseHelper getHelper() {
return helper;
}
//两个泛型约束 一个是对应的实体类类型,一个是主键类型
public abstract Dao<T, ID> getDao();
//条件查询
public List<T> queryForEq(String fieldName, Object value) {
List<T> list = new ArrayList<>();
try {
list = getDao().queryForEq(fieldName, value);
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
public int add(T t) {
try {
return getDao().create(t);
} catch (SQLException e) {
e.printStackTrace();
}
return -1;
}
public int addList(List<T> list){
try {
return getDao().create(list);
} catch (SQLException e) {
e.printStackTrace();
}
return -1;
}
public List<T> getAll(){
List<T> list = new ArrayList<>();
try {
list = getDao().queryForAll();
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
public T get(ID id){
try {
return getDao().queryForId(id);
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
//会全部更新 方法很蠢 前提获取所有字段信息 遗弃不用
public int update(T t){
try {
return getDao().update(t);
} catch (SQLException e) {
e.printStackTrace();
}
return -1;
}
//在DAO的函数不满足你的灵活性时,可能要用到原生更新语句,更新语句必须包含保留关键字 INSERT, DELETE,或者UPDATE,
//(sql语句,参数)
//String... 可变长度参数列表 new String[]{"",""}
public int updateRaw(String statement,String... arguments) {
try {
return getDao().updateRaw(statement, arguments);
} catch (SQLException e) {
e.printStackTrace();
}
return -1;
}
//更新ID,其他值不变
public int updateId(T t, ID id) {
try {
return getDao().updateId(t, id);
} catch (SQLException e) {
e.printStackTrace();
}
return -1;
}
/**
* 删除该id的数据
*/
public int delete(ID id){
try {
return getDao().deleteById(id);
} catch (SQLException e) {
e.printStackTrace();
}
return -1;
}
/**
* 删除所有
*/
public int deleteAll() {
try {
return getDao().deleteBuilder().delete();
} catch (SQLException e) {
e.printStackTrace();
}
return -1;
}
}
- 操作数据表
CRM_DT_BAOGAO_FB4_Dao dao4 = new CRM_DT_BAOGAO_FB4_Dao(getActivity());
List<CRM_DT_BAOGAO_FB4> list4 = new ArrayList<>();
list4 = dao4.queryForEq("JYJL_ID", ID);
if (list4.size() != 0) {
table.setATT1(list4.get(0).getATT1() == null ? "" : list4.get(0).getATT1());
}