让你在开发中爱不释手的 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<class> : init_3_SqlTable(list) 表示:为该 List 中的class创建表
-
* 3.Set<class>: 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 教程(五) 保存数据
转载:https://blog.csdn.net/qq_39799899/article/details/105942896