Android——GT Hibernate 教程(四) 更新表字段

让你在开发中爱不释手的 GT 包。关注GSLS官网,查看更多源码 ヾ(✿゚▽゚)ノ工具包。

所有文章 小编尽量让读者可以 直接 读懂 完全 复制粘贴,其中复杂或较多 的源码 会有 源码 并 贴上 github 网址

GT 类 里面的源码完全开源较多的中文注释,让更多的人直接读懂。

点个关注点个赞呗(〃'▽'〃),关注博主最新发布库: https://github.com/1079374315/GSLS_Tool

美帝 框架,让创造变得如此简单!

当你依赖GT库后就可以进行以下操作了

上一篇:GT Hibernate 教程(三) 添加新字段与删除旧字段

学习完上篇的 添加新字段与删除就字段,这篇我们来看看怎么更改字段名吧。

更改字段名当然也是在实体类中完成的啦,我们就将 LoginBean 表中的 role 该名为 loginRole 来举例子吧。

@GT.Hibernate.GT_Entity//标识待Hibernate扫描的持久化类
public class LoginBean {

    @GT.Hibernate.GT_Key(autoincrement = false)//标识主键属性并设置不自增
    private int loginID;//登录ID
    private String userName;//用户名称
    private String passWord;//用户密码
    @GT.Hibernate.GT_DatabaseField(oldTableValue = "role")//设置旧的字段名
    private String loginRole;//角色

    public LoginBean() {
        super();
    }

    ...get set 方法


改完后老规矩,将数据库版本 +1 即可:

@GT.Annotations.GT_Activity(R.layout.activity_main)
public class MainActivity extends GT.AnnotationActivity {

    @GT.Hibernate.Build(sqlName = "GT", sqlVersion = 4) //sqlVersion + 1
    private GT.Hibernate hibernate;

    @Override
    protected void initView(Bundle savedInstanceState) {
        build(this);
        
    }
}

虽然GT库中 Hibernate 已经将SQL操作很简化了,当有些应用场景想自己写更新SQL语句,怎么弄?家人们,不慌不慌,我们接着来学习。

方法一:直接获取 SQLiteDatabase 对象进行原生SQL操作。(无需数据库库版本更改)

@GT.Annotations.GT_Activity(R.layout.activity_main)
public class MainActivity extends GT.AnnotationActivity {

    @GT.Hibernate.Build(sqlName = "GT", sqlVersion = 4)
    private GT.Hibernate hibernate;

    @Override
    protected void initView(Bundle savedInstanceState) {
        build(this);
        hibernate.getSqLiteDatabase().execSQL("ALTER TABLE " + "UserBean" + " ADD userMarried BOOLEAN");
    }
}

 

方法二:当对 GT.Hibernate.SQL_CODE 赋值后,在更新数据库的时候,优先执行 该SQL代码,略过实体类所有的变动。当GT.Hibernate.SQL_CODE 值等于 null 或者 "" 就又会按照实体类中的改变进行数据库更新操作,需要注意的是 GT.Hibernate.SQL_CODE 的摆放的位置。(需要数据库版本 + 1)

注解版摆放位置:

@GT.Annotations.GT_Activity(R.layout.activity_main)
public class MainActivity extends GT.AnnotationActivity {

    @GT.Hibernate.Build(sqlName = "GT", sqlVersion = 5)//sqlVersion + 1
    private GT.Hibernate hibernate;

    @Override
    protected void initView(Bundle savedInstanceState) {
        GT.Hibernate.SQL_CODE = "ALTER TABLE " + "UserBean" + " ADD userMarried BOOLEAN";//添加新字段SQL代码
        build(this);
        
    }
}

非注解摆放位置:

public class MainActivity extends AppCompatActivity {

    private GT.Hibernate hibernate;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        GT.Hibernate.SQL_CODE = "ALTER TABLE " + "UserBean" + " ADD userMarried BOOLEAN";//添加新字段SQL代码

        hibernate = new GT.Hibernate(this).//实例化 Hibernate
                init_1_SqlName("GT")//设置数据库名称
                .init_2_SqlVersion(5)//设置数据库版本号
                /**
                 * @可接受参数类型:
                 * 1.实体类的class:  init_3_SqlTable(LoginBean.class)  表示:为该class创建表
                 * 2.List :  init_3_SqlTable(list)   表示:为该 List 中的class创建表
                 * 3.Set:    init_3_SqlTable(set)    表示:为该 Set 中的class创建表
                 * 4.String   :     init_3_SqlTable("com.gsls.hibernatedome.entity") 表示:等待 Hibernate 扫描该路径下的所有带有 Hibernate 标识的实体类
                 * 5.null     :     init_3_SqlTable(null) 表示:扫描本App中所有带有 Hibernate 标识的实体类
                 */
                .init_3_SqlTable(null)//该数据库加载哪些表
                .init_4_Sql();//执行数据库操作


    }
}

总结:操作简单,上手极快,就是这么舒服。

下一篇:GT Hinernate 教程(五) 保存数据

 

 

 

 

 

 

你可能感兴趣的:(GT,Hibernate,数据库)