使用OrmLite数据库 在升级过程中,增加表字段:
首先我们写自己的DbOpenHelper继承OrmLiteliteOpenHelper,定义数据库名称,版本号,初始化用户表
public classDbOpenHelper extends OrmLiteSqliteOpenHelper{
 private static finalString TABLE_NAME= "text.db";
 private static final intversion =1;
privateDao<UserInfo,Integer> userDao;
}
创建用户表
@Override
 public voidonCreate(SQLiteDatabasedatabase,ConnectionSource connectionSource){
 try{
// 创建用户表
 TableUtils.createTable(connectionSource,UserInfo.class);
 }catch (SQLExceptione){
 e.printStackTrace();
 }
}
 @Override
 public voidonUpgrade(SQLiteDatabasedatabase,ConnectionSource connectionSource,int oldVersion,int newVersion){
}
//得到userDao
publicDao<UserInfo,Integer>getUserDao()throws SQLException{
 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,ConnectionSource connectionSource,int oldVersion,int newVersion){
 try{
 if(oldVersion< 2){
 getUserDao().executeRawNoArgs("ALTER TABLE user_db ADD COLUMN address VARCHAR(60)");
 }
}catch (SQLExceptione){
 e.printStackTrace();
 }
}
在主类中增加新用户
UserInfouserInfo4 =new UserInfo();
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

升级数据库增加字段之OrmLite相关推荐

  1. 数据库增加字段加备注

    alter table 表名 add (字段名 字段类型 ); COMMENT ON COLUMN 表名.字段名 IS '备注信息';

  2. mysql数据库制定位置_MySQL数据库在指定位置增加字段

    这个本身属于MySQL的基本语法,我这里给出一个例子而已. mysql> -- 测试数据库在指定位置增加字段 mysql> drop table if exists t; Query OK ...

  3. oracle删除表的一个字段的数据库,学会Oracle数据库删除表字段和Oracle数据库表增加字段方法...

    Oracle数据库添加字段的语法:alter table tablename add (column datatype [default  value][null/not null],-.); Ora ...

  4. mysql增加布尔字段_JDBC对MySQL数据库布尔字段的操作方法

    本文实例讲述了JDBC对MySQL数据库布尔字段的操作方法.分享给大家供大家参考.具体分析如下: 在Mysql数据库如果要使用布尔字段,而应该设置为BIT(1)类型 此类型在Mysql中不能通过MyS ...

  5. oracle数据库建表、修改字段名称类型、增加字段、ID自动增长写法

    oracle建表: create table INDEX_POLICY_TBL       (        ID NUMBER(10) NOT NULL PRIMARY KEY,        PO ...

  6. mysql数据量大增加字段_MySQL 8.0.19亿级数据如何秒速增加字段?

    概述 今天主要介绍一下MySQL 8.0.19 instant add column的新特性,基于亿级数据秒速增加字段,下面一起来看看吧~ 一.MySQL DDL 的方法 MySQL 在大型表上的 D ...

  7. Android基础知识 - SQLite数据库的最佳实践(使用事务、升级数据库的最佳写法)

    目录 使用事务 升级数据库的最佳写法 使用事务 SQLite数据库时支持事务的,事务的特性可以保证让某一系列的操作要么全部完成,要么一个都不会完成. 那么在什么情况下才需要使用事务呢? 想象以下场景, ...

  8. Android入门(十二)SQLite事务、升级数据库

    原文链接:http://www.orlion.ga/610/ 一.事务 SQLite支持事务,看一下Android如何使用事务:比如 Book表中的数据都已经很老了,现在准备全部废弃掉替换成新数据,可 ...

  9. 数据库中字段类型对应的C#中的数据类型

    数据库中字段类型对应C#中的数据类型: 数据库                 C#程序 int int32 text string bigint int64 binary System.Byte[] ...

  10. MySql增加字段、删除字段、修改字段名称、修改字段类型

    修改数据库字段 alter table biz_apply MODIFY CUSTOMER_ID bigint(60);  MySql增加字段.删除字段.修改字段名称.修改字段类型 MySql的简单语 ...

最新文章

  1. 共享可写节包含重定位_艾瑞咨询:2020年数说双11电商购物节报告
  2. dat关闭某进程_超详细解析!工程师必会的Linux进程间通信方式和原理
  3. 图像的灰度化以及二值图函数
  4. 一个具有20位地址和32位字长的存储器_step7编程之地址概念详解
  5. C++不能被声明为虚函数
  6. percona-toolkit(pt工具)使用总结
  7. 图像目标检测(Object Detection)原理与实现(一)
  8. Android 自己主动化測试之------ Monkey工具
  9. SSO单点登录之同域登录的实现
  10. farm ugly chicken kick(fuck)这个计算机词汇的由来
  11. 嘉善 机器人比赛_第十一届省青少年机器人大赛嘉善摆擂
  12. 唱歌气沉丹田怎么做 气沉丹田的口诀
  13. 如何将dwt模板移到php,如何制作ECSHOP模板
  14. 阿里云安全组规则授权对象设置为固定IP段访问
  15. 某电商网站Java面试题-2(高级开发,架构级别)
  16. 大数据开发是做什么的?怎样入门?
  17. 盒子模型基本介绍及知识点
  18. 2020年汽车芯片行业深度报告-1
  19. CMake Error at D:/opencv/opencv-3.4.6/sources/cmake/OpenCVModule.cmake:36,,,OpenCV has already loade
  20. 如何有效管理数以万计的 etcd 集群?

热门文章

  1. 【Android】spinner下拉框样式修改
  2. 小白教程:Python爬取12306车票信息以及后期数据处理
  3. 代码版本控制用SVN还是Git好?
  4. 乐观锁实现之CAS算法分析
  5. Tekla二次开发入门经典例子
  6. Apache HTTP Server 下载,安装,配置,启动手把手教你
  7. 单片机数码管动态显示时钟C语言,8位数码管显示电子时钟c51单片机程序
  8. Kindle 2 初探
  9. Spring源码解析(一)下载及编译(版本5.2.x)
  10. JVM之JVM运行时内存结构, JDK1.7 JVM内存结构, JDK1.8 JVM内存结构, JVM堆内存结构