升级数据库增加字段之OrmLite
来源:互联网 发布:飞升坐骑升阶数据 编辑:程序博客网 时间:2024/05/16 08:45
使用OrmLite数据库 在升级过程中,增加表字段:
首先我们写自己的DbOpenHelper继承OrmLiteliteOpenHelper,定义数据库名称,版本号,初始化用户表
public classDbOpenHelperextends OrmLiteSqliteOpenHelper{
private static finalStringTABLE_NAME="text.db";
private static final intversion=1;
privateDao<UserInfo,Integer> userDao;
}
创建用户表
@Override
public voidonCreate(SQLiteDatabasedatabase,ConnectionSourceconnectionSource){
try{
// 创建用户表
TableUtils.createTable(connectionSource,UserInfo.class);
}catch(SQLExceptione){
e.printStackTrace();
}
}
@Override
public voidonUpgrade(SQLiteDatabasedatabase,ConnectionSourceconnectionSource,intoldVersion,intnewVersion){
}
//得到userDao
publicDao<UserInfo,Integer>getUserDao()throwsSQLException{
if(userDao ==null){
userDao=getDao(UserInfo.class);
}
returnuserDao;
}
定义表类
@DatabaseTable(tableName="user_db")
public classUserInfo{
@DatabaseField
private int id;
@DatabaseField
privateString name;
@DatabaseField
privateString age;}
在主类中执行
helper.getUserDao().create(list); 存入数据
查询数据:
public voidsearchUser(){
try{
List<UserInfo>userInfos=helper.getUserDao().queryForAll();
for(UserInfoinfo:userInfos){
System.out.println(info.toString());
}
}catch(SQLExceptione){
e.printStackTrace();
}
}
得到结果:
06-08 19:49:10.200 21958-21958/com.hanshaoda.butterkinfetest I/System.out: UserInfo{id=1, name='张三', age='25'}
06-08 19:49:10.200 21958-21958/com.hanshaoda.butterkinfetest I/System.out: UserInfo{id=2, name='李四', age='24'}
06-08 19:49:10.200 21958-21958/com.hanshaoda.butterkinfetest I/System.out: UserInfo{id=3, name='李武', age='24'}
下面在bean中加入新的字段address,版本号+1在Helper的onUpgrade方法中增加如下代码:
private static final intversion=2;
@Override
public voidonUpgrade(SQLiteDatabasedatabase,ConnectionSourceconnectionSource,intoldVersion,intnewVersion){
try{
if(oldVersion<2){
getUserDao().executeRawNoArgs("ALTER TABLE user_db ADD COLUMN address VARCHAR(60)");
}
}catch(SQLExceptione){
e.printStackTrace();
}
}
在主类中增加新用户
UserInfouserInfo4=newUserInfo();
userInfo4.setId(4);
userInfo4.setName("李武");
userInfo4.setAge("24");
userInfo4.setAddress("北京天源股业绩之");
运行主类得出结果
06-08 20:19:25.160 16917-16917/com.hanshaoda.butterkinfetest I/System.out: UserInfo{id=1, name='张三', age='25', address='null'}
06-08 20:19:25.160 16917-16917/com.hanshaoda.butterkinfetest I/System.out: UserInfo{id=2, name='李四', age='24', address='null'}
06-08 20:19:25.160 16917-16917/com.hanshaoda.butterkinfetest I/System.out: UserInfo{id=3, name='李武', age='24', address='null'}
06-08 20:19:25.160 16917-16917/com.hanshaoda.butterkinfetest I/System.out: UserInfo{id=4, name='李武', age='24', address='北京天源股业绩之'}
数据库表中加入address字段,不影响之前数据正常展示,增加字段升级数据库成功。
删除字段
getUserDao().executeRawNoArgs("ALTER TABLE user_db DROP COLUMN age")
二、修改字段名:
alter table 表名 rename column A to B
三、修改字段类型:
alter table 表名 alter column UnitPrice decimal(18, 4) not null
三、修改增加字段:
alter table 表名 ADD 字段 类型 NOT NULL Default 0
阅读全文
0 0
- 升级数据库增加字段之OrmLite
- OrmLite数据库升级
- 数据库之OrmLite
- 数据库升级 给原有的表增加字段
- Android数据库开发之ORMLite
- Android数据库开发之ORMLite
- android 数据库使用之OrmLite
- 数据库增加字段注意事项
- sql 增加数据库字段
- 关于Android数据库升级的实践(以ormlite为例)
- Android 使用OrmLite 实现数据库升级版本控制
- Android数据库ORMLite版本升级及数据的迁移
- Android数据库之ormlite简单使用
- Android进阶之数据库框架ormlite使用
- Ormlite数据库
- OrmLite数据库
- 给数据库字段增加前缀
- fmdb 数据库升级 加字段
- SpringBoot入门系列:第二篇 再学Hello World
- 用C语言实现TFTP的简单功能(基于TCP)
- IDEA中JSPout.println()报错问题
- 最近项目中,坑爹的问题(7.0手机)
- input的事件大全
- 升级数据库增加字段之OrmLite
- 机器学习(十八)
- 手机验证码登录,账号登录结合
- android-Message解析
- 利用Jmeter做接口测试(大道QA团队原创作品)
- 萌新的程序猿之旅一
- [java][junit4][源码分析]JUnitCore-入口分析
- Java substring
- 欢迎使用CSDN-markdown编辑器