xUtils数据库---增删改查(表与表之间)
来源:互联网 发布:java破解单机游戏大全 编辑:程序博客网 时间:2024/06/05 21:14
xUtils数据库是xUtils框架里包含的一部分。xUtils是一款快速开发android移动应用的框架,其包含了很多实用的android工具. 目前xUtils主要有四大模块:DbUtils模块、ViewUtils模块、HttpUtils模、BitmapUtils模块。
详细介绍请见:
kevin-gox的Utils3中对Sqlite数据库的操作 - CSDN博客 http://blog.csdn.net/tybaoerge/article/details/50414471
此处我只介绍此数据库的使用方法。
1.引入xUtils框架:
compile 'org.xutils:xutils:3.3.26'
添加权限:
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><application android:name=".BaseApplication" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".activity.HomeActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application>
2.新建BaseApplication,建立数据库
注释很详细,就不多做介绍了:
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目录下 }}
3.建立User和Order类(其实就是表table):
一个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<Order> 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<Order> getOrders(DbManager db) throws DbException { return db.selector(Order.class).where("USERID", "=", this.id).findAll(); } public void setOrderlist(List<Order> 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"; }}
4.对数据库进行数据操作的所有函数:
方便学习,所以把函数统一写在了一起,每个方法都尝试了很多种写法:
增:
/** * 给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","caolbmail@gmail.com","13299999999",new Date()); //db.save(user);//保存成功之后【不会】对user的主键进行赋值绑定 //db.saveOrUpdate(user);//保存成功之后【会】对user的主键进行赋值绑定 //db.saveBindingId(user);//保存成功之后【会】对user的主键进行赋值绑定,并返回保存是否成功 //方法一: try { List<User> users = new ArrayList<User>(); for (int i = 0; i < 10; i++) { //User的@Table注解onCreated属性加了name,email联合唯一索引. User user = new User(i + "_QiLin", "qqqqqqqqqq@gmail.com", "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// + " ','www555@qq.com' , '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(), "caolbmail@gmail.com", "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<User> 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<T> entityType, Object idValue)来删除某个主键对应的记录。 * 2.org.xutils.DbManager#delete(Object entity)方法删除某个已经存在表中的对象。 * 3.org.xutils.DbManager#delete(Class<T> entityType)则会删除表中所有记录,相当于清空表数据。 * 4.WhereBuilder对象提供了类似Selector对象的and(), or(), expr()等方法来链式操作该对象本身, * 复写的toString方法可以返回其对应的where条件语句. * * @throws DbException */ public boolean dbDeleteUser( int UserId){// //方法一:使用whereBuilder// try {// List<User> 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<User> users = db.findAll(User.class);// if (users == null || users.size() == 0) {// showDbMessage("无任何用户信息,请先添加用户");// return;// }// //第一种// User firstUser = db.findFirst(User.class);//修改了第一条数据// firstUser.setName("老王");// firstUser.setEmail("0000000000@email.com");// 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", "0000000000@email.com")// , new KeyValue("mobile", mobile));//对User表中复合whereBuilder所表达的条件的记录更新email和mobile// } catch (DbException e) {// e.printStackTrace();// return false;// } //方法二:使用sql语句 try { String sqlStr = "UPDATE user SET email = 'www000@qq.com', 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<T> class)。 * 2.根据对象的主键id来查找org.xutils.DbManager#findById(Class<T> entityType, Object idValue)。 * 3.查询对象org.xutils.db.Selector.该对象提供了where(), and(), or(),orderBy(), groupBy(), limit(), offset(), * count()等方法来实现灵活的复杂查询,而且这些方法都返回对象本身,所以可以进行链式操作。 * * @throws DbException */ public List<User> dbFindUserByCondition(){ //List<User> 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","=","caolbmail@gmail.com").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<User> users = null; try { users = dbManager.selector(User.class) .where("name", "like", "%kevin%") .and("email", "=", "caolbmail@gmail.com") .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<User> dbFindAllUser(){ List<User> users = null; try { users = dbManager.findAll(User.class); } catch (DbException e) { e.printStackTrace(); return users; } return users; } /** * 查找此user的orders * * @throws DbException */ public List<Order> dbFindAllOrder( User user){ List<Order> 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","caolbmail@gmail.com","13299999999",new Date()); //db.save(user);//保存成功之后【不会】对user的主键进行赋值绑定 //db.saveOrUpdate(user);//保存成功之后【会】对user的主键进行赋值绑定 //db.saveBindingId(user);//保存成功之后【会】对user的主键进行赋值绑定,并返回保存是否成功 //方法一: try { List<User> users = new ArrayList<User>(); for (int i = 0; i < 10; i++) { //User的@Table注解onCreated属性加了name,email联合唯一索引. User user = new User(i + "_QiLin", "qqqqqqqqqq@gmail.com", "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// + " ','www555@qq.com' , '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(), "caolbmail@gmail.com", "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<User> 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<T> class)。 * 2.根据对象的主键id来查找org.xutils.DbManager#findById(Class<T> entityType, Object idValue)。 * 3.查询对象org.xutils.db.Selector.该对象提供了where(), and(), or(),orderBy(), groupBy(), limit(), offset(), * count()等方法来实现灵活的复杂查询,而且这些方法都返回对象本身,所以可以进行链式操作。 * * @throws DbException */ public List<User> dbFindUserByCondition(){ //List<User> 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","=","caolbmail@gmail.com").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<User> users = null; try { users = dbManager.selector(User.class) .where("name", "like", "%kevin%") .and("email", "=", "caolbmail@gmail.com") .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<User> dbFindAllUser(){ List<User> users = null; try { users = dbManager.findAll(User.class); } catch (DbException e) { e.printStackTrace(); return users; } return users; } /** * 查找此user的orders * * @throws DbException */ public List<Order> dbFindAllOrder( User user){ List<Order> 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<T> entityType, Object idValue)来删除某个主键对应的记录。 * 2.org.xutils.DbManager#delete(Object entity)方法删除某个已经存在表中的对象。 * 3.org.xutils.DbManager#delete(Class<T> entityType)则会删除表中所有记录,相当于清空表数据。 * 4.WhereBuilder对象提供了类似Selector对象的and(), or(), expr()等方法来链式操作该对象本身, * 复写的toString方法可以返回其对应的where条件语句. * * @throws DbException */ public boolean dbDeleteUser( int UserId){// //方法一:使用whereBuilder// try {// List<User> 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<User> users = db.findAll(User.class);// if (users == null || users.size() == 0) {// showDbMessage("无任何用户信息,请先添加用户");// return;// }// //第一种// User firstUser = db.findFirst(User.class);//修改了第一条数据// firstUser.setName("老王");// firstUser.setEmail("0000000000@email.com");// 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", "0000000000@email.com")// , new KeyValue("mobile", mobile));//对User表中复合whereBuilder所表达的条件的记录更新email和mobile// } catch (DbException e) {// e.printStackTrace();// return false;// } //方法二:使用sql语句 try { String sqlStr = "UPDATE user SET email = 'www000@qq.com', 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; }}
5.在其他类里使用操作函数
比如:
private MyDbHelper myDbHelper = new MyDbHelper();boolean isOk = myDbHelper.dbAddUsers();
阅读全文
0 0
- xUtils数据库---增删改查(表与表之间)
- Web数据库SQL命令,数据库创建_增删改查_表与表之间的关联
- xUtils 学习之路db数据库增删改查基本功能
- Mybatis 数据库表增删改查
- 数据库、表基本操作增删改查
- 数据库操作(增删改查+升级表结构)
- 数据库(增删查改)
- Matlab与数据库(连接,增删改查)
- 创建数据库与完成数据增删改查(二)
- SQLite数据库创建与增删查改
- JSP与数据库的增删改查
- 数据库-增删改查
- 数据库增删改查
- 数据库增删改查
- 数据库增删改查
- 数据库增删改查
- 数据库增删改查
- 数据库增删改查
- JAVA基础--6种常用排序算法
- Mask RCNN
- Deep Learning训练过程
- 收藏文章,工具网站,学习提高[持续更新]
- 用sql对搜索结果排序并添加序号
- xUtils数据库---增删改查(表与表之间)
- [数学]bzoj5043密码破译
- MyEclipse 不能将WAR包导出的解决方法(作者:Hotsum)
- 揭秘java培训机构内幕,我走过最深的套路
- 格式化字符串
- Apache2.4+PHP7+MySQL5.7配置
- 代码不是看出来的而是调出来的
- (HDU
- 迅为IMX6嵌入式开发板linux QT挂载U盘及TF卡