xUtils数据库是xUtils框架里包含的一部分。xUtils是一款快速开发android移动应用的框架,其包含了很多实用的android工具. 目前xUtils主要有四大模块:DbUtils模块、ViewUtils模块、HttpUtils模、BitmapUtils模块。
详细介绍请见:
kevin-gox的Utils3中对Sqlite数据库的操作 - CSDN博客 http://blog.csdn.net/tybaoerge/article/details/50414471
此处我只介绍此数据库的使用方法。
compile 'org.xutils:xutils:3.3.26'
添加权限:
注释很详细,就不多做介绍了:
import android.app.Application;
import org.xutils.DbManager;
import org.xutils.db.table.TableEntity;
import org.xutils.ex.DbException;
import org.xutils.x;
/**
* daoCinfig对象主要用于对于数据库的一些初始化设置
* 1.setDbName 设置数据库的名称
* 2.setDbDir 设置数据库存放的路径
* 3.setDbVersion 设置数据库的版本
* 4.setAllowTransaction(true) 设置允许开启事务
* 5.setDbUpgradeListener 设置一个版本升级的监听方法
*
* 注意:
* 数据库里面表的创建的时间,
* 只有在你对数据库里面的操作涉及到这张表的操作时,会先判断当前的表是否存在,
* 如果不存在,才会创建一张表,如果存在,才会进行相应的CRUD操作
*/
public class BaseApplication extends Application{
public static DbManager.DaoConfig daoConfig;
@Override
public void onCreate() {
super.onCreate();
//框架初始化
x.Ext.init(this);
//初始化数据库
initDb();
}
public static DbManager.DaoConfig getDaoConfig() {
return daoConfig;
}
/**
* 初始化数据库、建表
*/
protected void initDb() {
//本地数据的初始化
daoConfig = new DbManager.DaoConfig()
.setDbName("xutils_db") //设置数据库名
.setDbVersion(1) //设置数据库版本,每次启动应用时将会检查该版本号,
//发现数据库版本低于这里设置的值将进行数据库升级并触发DbUpgradeListener
.setAllowTransaction(true)//设置是否开启事务,默认为false关闭事务
.setTableCreateListener(new DbManager.TableCreateListener() {
@Override
public void onTableCreated(DbManager db, TableEntity> entity) {
}
})//设置数据库创建时的Listener
.setDbUpgradeListener(new DbManager.DbUpgradeListener() {
@Override
public void onUpgrade(DbManager db, int oldVersion, int newVersion) {
if( oldVersion < newVersion ){
db.getDatabase().setVersion( newVersion);
}
}
});//设置数据库升级时的Listener,这里可以执行相关数据库表的相关修改,比如alter语句增加字段等
//.setDbDir(null);//设置数据库.db文件存放的目录,默认为包名下databases目录下
}
}
一个User对应多个Order
User
/**
* 如果需要添加联合唯一索引则可以在@Table注解加上
* onCreated = “CREATE UNIQUE INDEX unique_name ON table_name(column1, column2)”)
* 为表创建column1,column2联合唯一索引
*/
//为表创建NAME,EMAIL联合唯一索引
@Table(name = "user",
onCreated = "CREATE UNIQUE INDEX realative_unique ON user(NAME, EMAIL)")
public class User implements Serializable{
@Column(
name = "ID",
isId = true,
autoGen = true
)
private int id;
@Column(name = "NAME",property = "NOT NULL")//NAME字段非空
private String name;
@Column(name = "EMAIL",property = "NOT NULL")
private String email;
@Column(name = "MOBILE")
private String mobile;
@Column(name = "REGTIME")
private Date regTime;
@Column(name = "ORDER")
private List orderlist;
//国家
@Column(name = "country",property = "China")
private String country = "";
public User(){
}
public User(String name, String email, String mobile){
this.name = name;
this.email = email;
this.mobile = mobile;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public Date getRegTime() {
return regTime;
}
public void setRegTime(Date regTime) {
this.regTime = regTime;
}
public List getOrders(DbManager db) throws DbException {
return db.selector(Order.class).where("USERID", "=", this.id).findAll();
}
public void setOrderlist(List orderlist) {
this.orderlist = orderlist;
}
public String toString(){
return "{id=" + id + ", name=" + name + ", email=" + email + ", mobile="
+ mobile + ",country = " + country + "}\n";
}
}
order:
@Table(name = "order")
public class Order implements Serializable{
@Column(name = "ID", isId = true, autoGen = true)
private int id;
@Column(name = "NUMBER")
private String number;
@Column(name = "SUBJECT")
private String subject;
@Column(name = "USERID")
private int userId;
public User getUser(DbManager db) throws DbException {
return db.findById(User.class, userId);
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
@Override
public String toString() {
return this.getClass().getName()
+ "{id=" + id + ", number=" + number + ", subject=" + subject + ", userId=" + userId + "}\n";
}
}
方便学习,所以把函数统一写在了一起,每个方法都尝试了很多种写法:
/**
* 给user表添加country字段
*/
public boolean dbAddUserColumn(){
try {
int version = dbManager.getDatabase().getVersion();
dbManager.addColumn(User.class, "country");
BaseApplication.getDaoConfig().getDbUpgradeListener().onUpgrade( dbManager,version,version + 1);
} catch (DbException e) {
e.printStackTrace();
return false;
}
return true;
}
/**
* 批量增加User但无oderlist
*
* @throws DbException
*/
public boolean dbAddUsers(){
//User user = new User("Kevingo","[email protected]","13299999999",new Date());
//db.save(user);//保存成功之后【不会】对user的主键进行赋值绑定
//db.saveOrUpdate(user);//保存成功之后【会】对user的主键进行赋值绑定
//db.saveBindingId(user);//保存成功之后【会】对user的主键进行赋值绑定,并返回保存是否成功
//方法一:
try {
List users = new ArrayList();
for (int i = 0; i < 10; i++) {
//User的@Table注解onCreated属性加了name,email联合唯一索引.
User user = new User(i + "_QiLin", "[email protected]", "13299999999");
users.add(user);
}
dbManager.saveBindingId(users);
} catch (DbException e) {
e.printStackTrace();
return false;
}
//方法二:使用sql语句
// try {
// for( int i = 0 ; i < 9; i++){
// String name = i + "_Wilson";
// String sqlString = "INSERT INTO User (name,email, mobile) VALUES ( '" + name
// + " ','[email protected]' , '99999999999')";
// dbManager.execNonQuery( sqlString );
// }
// } catch (DbException e) {
// e.printStackTrace();
// return false;
// }
return true;
}
/**
* findById获得此user后增加其oderlist
*
* @throws DbException
*/
public boolean dbAddUserOfOders( int userId){
try {
User user = dbManager.findById(User.class, userId);
if (user == null) {
user = new User("Kevingo" + System.currentTimeMillis(), "[email protected]", "13299999990");
dbManager.saveBindingId(user);
}
for (int i = 0; i < 5; i++) {
Order order = new Order();
order.setNumber(i + "");
order.setSubject( i + "_Chinese");
order.setUserId(user.getId());
dbManager.save(order);
}
} catch (DbException e) {
e.printStackTrace();
return false;
}
return true;
}
/**
* findById获得此user后增加其country
*
* @throws DbException
*/
public boolean dbAddUserCountry(){
try {
List users = dbManager.findAll(User.class);
if (users == null || users.size() == 0) {
return false;
}
for (User user : users) {
user.setCountry("China");
dbManager.saveOrUpdate(user);
}
} catch (DbException e) {
e.printStackTrace();
return false;
}
return true;
}
/**
* 按条件删除user
* 删除方法:
* 1.删除一个对象或者对象List,
* 通过org.xutils.DbManager#deleteById(Class entityType, Object idValue)来删除某个主键对应的记录。
* 2.org.xutils.DbManager#delete(Object entity)方法删除某个已经存在表中的对象。
* 3.org.xutils.DbManager#delete(Class entityType)则会删除表中所有记录,相当于清空表数据。
* 4.WhereBuilder对象提供了类似Selector对象的and(), or(), expr()等方法来链式操作该对象本身,
* 复写的toString方法可以返回其对应的where条件语句.
*
* @throws DbException
*/
public boolean dbDeleteUser( int UserId){
// //方法一:使用whereBuilder
// try {
// List users = dbManager.findAll(User.class);
// if (users == null || users.size() == 0) {
// return false;
// }
// WhereBuilder whereBuilder = WhereBuilder.b();
//// whereBuilder.and("id", ">", "5").or("id", "=", "1").expr(" and mobile > '2015-12-29 00:00:01' ");
// whereBuilder.and("id", "=", Integer.toString(UserId));
// dbManager.delete(User.class, whereBuilder);
// } catch (DbException e) {
// e.printStackTrace();
// return false;
// }
//方法二:使用Sql语句
try {
String sqlString = " DELETE FROM user WHERE id = " + Integer.toString(UserId);
dbManager.execNonQuery( sqlString);
} catch (DbException e) {
e.printStackTrace();
return false;
}
// db.delete(User.class);//删除所有数据
// db.delete(Order.class);//删除所有数据
//db.delete(users.get(0)); //删除第一个对象
//db.delete(User.class);//删除表中所有的User对象【慎用】
//db.delete(users); //删除users对象集合
//users = db.findAll(User.class);
// showDbMessage("【dbDelete#delete】数据库中还有user数目:" + users.size());
return true;
}
/**
* 根据OrderId进行删除
* @param OrderId
* @return
*/
public boolean dbDeleteOrder( int OrderId){
try {
WhereBuilder whereBuilder = WhereBuilder.b();
whereBuilder.and("id", "=", Integer.toString(OrderId));
dbManager.delete(Order.class, whereBuilder);
} catch (DbException e) {
e.printStackTrace();
return false;
}
return true;
}
/**
* 按条件筛选出user并更新其email、mobile信息
* 更新方法:
* 1.更新对象除了几个update方法外还可以通过replace方法实现。
* 2.通过update方法传入WhereBuilder对象和org.xutils.common.util.KeyValue对象实现对复合条件的记录更新指定的列和值。
* 3.通过org.xutils.DbManager对象中的一系列exec前缀的方法可以实现sql语句查询。
*
* @throws DbException
*/
public boolean dbUpdateUserInfo( int UserId,String mobile){
// List users = db.findAll(User.class);
// if (users == null || users.size() == 0) {
// showDbMessage("无任何用户信息,请先添加用户");
// return;
// }
// //第一种
// User firstUser = db.findFirst(User.class);//修改了第一条数据
// firstUser.setName("老王");
// firstUser.setEmail("[email protected]");
// db.update(firstUser, "name", "email");
//第二种
// //方法一:使用whereBuilder
// try {
// WhereBuilder whereBuilder = WhereBuilder.b();
// whereBuilder.and("id", "=", Integer.toString(UserId));
// dbManager.update(User.class, whereBuilder,
// new KeyValue("email", "[email protected]")
// , new KeyValue("mobile", mobile));//对User表中复合whereBuilder所表达的条件的记录更新email和mobile
// } catch (DbException e) {
// e.printStackTrace();
// return false;
// }
//方法二:使用sql语句
try {
String sqlStr = "UPDATE user SET email = '[email protected]', mobile = '"
+ mobile + "'WHERE id = " + Integer.toString(UserId);
dbManager.execNonQuery( sqlStr);
} catch (DbException e) {
e.printStackTrace();
return false;
}
return true;
}
/**
* 根据OrderId更新subject信息
* @param OrderId
* @param subject
* @return
*/
public boolean dbUpdateOrderInfo( int OrderId,String subject){
try {
WhereBuilder whereBuilder = WhereBuilder.b();
whereBuilder.and("id", "=", Integer.toString(OrderId));
dbManager.update(Order.class, whereBuilder,
new KeyValue("subject", subject));
} catch (DbException e) {
e.printStackTrace();
return false;
}
return true;
}
/**
* 按条件查找user
* 查询方法:
* 1.查询某张表内的所有对象, 可以通过org.xutils.DbManager#findAll(Class class)。
* 2.根据对象的主键id来查找org.xutils.DbManager#findById(Class entityType, Object idValue)。
* 3.查询对象org.xutils.db.Selector.该对象提供了where(), and(), or(),orderBy(), groupBy(), limit(), offset(),
* count()等方法来实现灵活的复杂查询,而且这些方法都返回对象本身,所以可以进行链式操作。
*
* @throws DbException
*/
public List dbFindUserByCondition(){
//List users = db.findAll(User.class);
//showDbMessage("【dbFind#findAll】第一个对象:"+users.get(0).toString());
//User user = db.findById(User.class, 1);
//showDbMessage("【dbFind#findById】第一个对象:" + user.toString());
//long count = db.selector(User.class).where("name","like","%kevin%").and("email","=","[email protected]").count();//返回复合条件的记录数
//showDbMessage("【dbFind#selector】符合条件数目:" + count);
// //使用sql语句进行查询
// Cursor cursor = db.execQuery("select * from user where id<=5");
// if( cursor != null && !cursor.isLast() ){
// cursor.moveToNext();
// cursor.getString(cursor.getColumnIndex("NAME"));
// int count = cursor.getColumnCount();
// showDbMessage("【db.execQuery#selector】符合条件数目:" + count);
// }
// if (cursor!=null){
// cursor.close();
// }
//Sql查询语句使用说明:
//以"A"或"L"或"N"开头的人:WHERE name LIKE '[ALN]%'
//不以 "A" 或 "L" 或 "N" 开头的人:WHERE name LIKE '[!ALN]%'
//选取名字的第一个字符之后是"eorge"的人:where name like '_eorge'
//使用selector进行复合查询
List users = null;
try {
users = dbManager.selector(User.class)
.where("name", "like", "%kevin%")
.and("email", "=", "[email protected]")
.orderBy("regTime", true)//true为:降序desc
.limit(2) //只查询两条记录
.offset(2) //偏移两个,从第三个记录开始返回,limit配合offset达到sqlite的limit m,n的查询
.findAll();
} catch (DbException e) {
e.printStackTrace();
return users;
}
return users;
}
/**
* 查找所有user
*
* @throws DbException
*/
public List dbFindAllUser(){
List users = null;
try {
users = dbManager.findAll(User.class);
} catch (DbException e) {
e.printStackTrace();
return users;
}
return users;
}
/**
* 查找此user的orders
*
* @throws DbException
*/
public List dbFindAllOrder( User user){
List orders = null;
try {
if ( user != null ) {
orders = user.getOrders(dbManager);
}
} catch (DbException e) {
e.printStackTrace();
return orders;
}
return orders;
}
/**
* db.save(entity);//保存成功之后【不会】对user的主键进行赋值绑定
* db.saveOrUpdate(entity);//如果一个对象主键为null则会新增该对象,
* 成功之后【会】对user的主键进行赋值绑定,否则根据主键去查找更新
* db.saveBindingId(entity);//保存成功之后【会】对user的主键进行赋值绑定,并返回保存是否成功
*/
public class MyDbHelper {
private DbManager dbManager;
public MyDbHelper (){
this.dbManager = x.getDb(BaseApplication.getDaoConfig());
}
/**
* 给user表添加country字段
*/
public boolean dbAddUserColumn(){
try {
int version = dbManager.getDatabase().getVersion();
dbManager.addColumn(User.class, "country");
BaseApplication.getDaoConfig().getDbUpgradeListener().onUpgrade( dbManager,version,version + 1);
} catch (DbException e) {
e.printStackTrace();
return false;
}
return true;
}
/**
* 批量增加User但无oderlist
*
* @throws DbException
*/
public boolean dbAddUsers(){
//User user = new User("Kevingo","[email protected]","13299999999",new Date());
//db.save(user);//保存成功之后【不会】对user的主键进行赋值绑定
//db.saveOrUpdate(user);//保存成功之后【会】对user的主键进行赋值绑定
//db.saveBindingId(user);//保存成功之后【会】对user的主键进行赋值绑定,并返回保存是否成功
//方法一:
try {
List users = new ArrayList();
for (int i = 0; i < 10; i++) {
//User的@Table注解onCreated属性加了name,email联合唯一索引.
User user = new User(i + "_QiLin", "[email protected]", "13299999999");
users.add(user);
}
dbManager.saveBindingId(users);
} catch (DbException e) {
e.printStackTrace();
return false;
}
//方法二:使用sql语句
// try {
// for( int i = 0 ; i < 9; i++){
// String name = i + "_Wilson";
// String sqlString = "INSERT INTO User (name,email, mobile) VALUES ( '" + name
// + " ','[email protected]' , '99999999999')";
// dbManager.execNonQuery( sqlString );
// }
// } catch (DbException e) {
// e.printStackTrace();
// return false;
// }
return true;
}
/**
* findById获得此user后增加其oderlist
*
* @throws DbException
*/
public boolean dbAddUserOfOders( int userId){
try {
User user = dbManager.findById(User.class, userId);
if (user == null) {
user = new User("Kevingo" + System.currentTimeMillis(), "[email protected]", "13299999990");
dbManager.saveBindingId(user);
}
for (int i = 0; i < 5; i++) {
Order order = new Order();
order.setNumber(i + "");
order.setSubject( i + "_Chinese");
order.setUserId(user.getId());
dbManager.save(order);
}
} catch (DbException e) {
e.printStackTrace();
return false;
}
return true;
}
/**
* findById获得此user后增加其country
*
* @throws DbException
*/
public boolean dbAddUserCountry(){
try {
List users = dbManager.findAll(User.class);
if (users == null || users.size() == 0) {
return false;
}
for (User user : users) {
user.setCountry("China");
dbManager.saveOrUpdate(user);
}
} catch (DbException e) {
e.printStackTrace();
return false;
}
return true;
}
/**
* 按条件查找user
* 查询方法:
* 1.查询某张表内的所有对象, 可以通过org.xutils.DbManager#findAll(Class class)。
* 2.根据对象的主键id来查找org.xutils.DbManager#findById(Class entityType, Object idValue)。
* 3.查询对象org.xutils.db.Selector.该对象提供了where(), and(), or(),orderBy(), groupBy(), limit(), offset(),
* count()等方法来实现灵活的复杂查询,而且这些方法都返回对象本身,所以可以进行链式操作。
*
* @throws DbException
*/
public List dbFindUserByCondition(){
//List users = db.findAll(User.class);
//showDbMessage("【dbFind#findAll】第一个对象:"+users.get(0).toString());
//User user = db.findById(User.class, 1);
//showDbMessage("【dbFind#findById】第一个对象:" + user.toString());
//long count = db.selector(User.class).where("name","like","%kevin%").and("email","=","[email protected]").count();//返回复合条件的记录数
//showDbMessage("【dbFind#selector】符合条件数目:" + count);
// //使用sql语句进行查询
// Cursor cursor = db.execQuery("select * from user where id<=5");
// if( cursor != null && !cursor.isLast() ){
// cursor.moveToNext();
// cursor.getString(cursor.getColumnIndex("NAME"));
// int count = cursor.getColumnCount();
// showDbMessage("【db.execQuery#selector】符合条件数目:" + count);
// }
// if (cursor!=null){
// cursor.close();
// }
//Sql查询语句使用说明:
//以"A"或"L"或"N"开头的人:WHERE name LIKE '[ALN]%'
//不以 "A" 或 "L" 或 "N" 开头的人:WHERE name LIKE '[!ALN]%'
//选取名字的第一个字符之后是"eorge"的人:where name like '_eorge'
//使用selector进行复合查询
List users = null;
try {
users = dbManager.selector(User.class)
.where("name", "like", "%kevin%")
.and("email", "=", "[email protected]")
.orderBy("regTime", true)//true为:降序desc
.limit(2) //只查询两条记录
.offset(2) //偏移两个,从第三个记录开始返回,limit配合offset达到sqlite的limit m,n的查询
.findAll();
} catch (DbException e) {
e.printStackTrace();
return users;
}
return users;
}
/**
* 查找所有user
*
* @throws DbException
*/
public List dbFindAllUser(){
List users = null;
try {
users = dbManager.findAll(User.class);
} catch (DbException e) {
e.printStackTrace();
return users;
}
return users;
}
/**
* 查找此user的orders
*
* @throws DbException
*/
public List dbFindAllOrder( User user){
List orders = null;
try {
if ( user != null ) {
orders = user.getOrders(dbManager);
}
} catch (DbException e) {
e.printStackTrace();
return orders;
}
return orders;
}
/**
* 按条件删除user
* 删除方法:
* 1.删除一个对象或者对象List,
* 通过org.xutils.DbManager#deleteById(Class entityType, Object idValue)来删除某个主键对应的记录。
* 2.org.xutils.DbManager#delete(Object entity)方法删除某个已经存在表中的对象。
* 3.org.xutils.DbManager#delete(Class entityType)则会删除表中所有记录,相当于清空表数据。
* 4.WhereBuilder对象提供了类似Selector对象的and(), or(), expr()等方法来链式操作该对象本身,
* 复写的toString方法可以返回其对应的where条件语句.
*
* @throws DbException
*/
public boolean dbDeleteUser( int UserId){
// //方法一:使用whereBuilder
// try {
// List users = dbManager.findAll(User.class);
// if (users == null || users.size() == 0) {
// return false;
// }
// WhereBuilder whereBuilder = WhereBuilder.b();
//// whereBuilder.and("id", ">", "5").or("id", "=", "1").expr(" and mobile > '2015-12-29 00:00:01' ");
// whereBuilder.and("id", "=", Integer.toString(UserId));
// dbManager.delete(User.class, whereBuilder);
// } catch (DbException e) {
// e.printStackTrace();
// return false;
// }
//方法二:使用Sql语句
try {
String sqlString = " DELETE FROM user WHERE id = " + Integer.toString(UserId);
dbManager.execNonQuery( sqlString);
} catch (DbException e) {
e.printStackTrace();
return false;
}
// db.delete(User.class);//删除所有数据
// db.delete(Order.class);//删除所有数据
//db.delete(users.get(0)); //删除第一个对象
//db.delete(User.class);//删除表中所有的User对象【慎用】
//db.delete(users); //删除users对象集合
//users = db.findAll(User.class);
// showDbMessage("【dbDelete#delete】数据库中还有user数目:" + users.size());
return true;
}
/**
* 根据OrderId进行删除
* @param OrderId
* @return
*/
public boolean dbDeleteOrder( int OrderId){
try {
WhereBuilder whereBuilder = WhereBuilder.b();
whereBuilder.and("id", "=", Integer.toString(OrderId));
dbManager.delete(Order.class, whereBuilder);
} catch (DbException e) {
e.printStackTrace();
return false;
}
return true;
}
/**
* 按条件筛选出user并更新其email、mobile信息
* 更新方法:
* 1.更新对象除了几个update方法外还可以通过replace方法实现。
* 2.通过update方法传入WhereBuilder对象和org.xutils.common.util.KeyValue对象实现对复合条件的记录更新指定的列和值。
* 3.通过org.xutils.DbManager对象中的一系列exec前缀的方法可以实现sql语句查询。
*
* @throws DbException
*/
public boolean dbUpdateUserInfo( int UserId,String mobile){
// List users = db.findAll(User.class);
// if (users == null || users.size() == 0) {
// showDbMessage("无任何用户信息,请先添加用户");
// return;
// }
// //第一种
// User firstUser = db.findFirst(User.class);//修改了第一条数据
// firstUser.setName("老王");
// firstUser.setEmail("[email protected]");
// db.update(firstUser, "name", "email");
//第二种
// //方法一:使用whereBuilder
// try {
// WhereBuilder whereBuilder = WhereBuilder.b();
// whereBuilder.and("id", "=", Integer.toString(UserId));
// dbManager.update(User.class, whereBuilder,
// new KeyValue("email", "[email protected]")
// , new KeyValue("mobile", mobile));//对User表中复合whereBuilder所表达的条件的记录更新email和mobile
// } catch (DbException e) {
// e.printStackTrace();
// return false;
// }
//方法二:使用sql语句
try {
String sqlStr = "UPDATE user SET email = '[email protected]', mobile = '"
+ mobile + "'WHERE id = " + Integer.toString(UserId);
dbManager.execNonQuery( sqlStr);
} catch (DbException e) {
e.printStackTrace();
return false;
}
return true;
}
/**
* 根据OrderId更新subject信息
* @param OrderId
* @param subject
* @return
*/
public boolean dbUpdateOrderInfo( int OrderId,String subject){
try {
WhereBuilder whereBuilder = WhereBuilder.b();
whereBuilder.and("id", "=", Integer.toString(OrderId));
dbManager.update(Order.class, whereBuilder,
new KeyValue("subject", subject));
} catch (DbException e) {
e.printStackTrace();
return false;
}
return true;
}
/**
* 现在数据库版本号
*/
public int getDBVersiona(){
int version = dbManager.getDatabase().getVersion() ;
return version;
}
}
比如:
private MyDbHelper myDbHelper = new MyDbHelper();
boolean isOk = myDbHelper.dbAddUsers();