Android——SQLite数据库(简单操作)

本篇文章源码:https://github.com/1079374315/HibernateDome

超级简单的SQLite使用如:(不需要写任何SQL语句完成以下操作)

1.创建数据库  1 行代码

2.添加数据 1 行代码

3.删除数据 1 行代码

4.修改数据 1 行代码

5.查询数据 1 行代码

从创建数据库到数据库的增删查改总共 5 行代码。

先看效果图:

Android——SQLite数据库(简单操作)_第1张图片

如果有兴趣咋们跟着小编往下操作:

 

第一步:小编将数据库复杂的操作封装好并放在GitHub上所以需要简单的依赖一下

项目下app的build.gradle中依赖:

1. 将以下存储库将其添加到根构建中。存储库末尾的 详细依赖篇

allprojects {
    repositories {
        google()
        jcenter()
        maven { url 'https://jitpack.io' }
    }
}

2. 添加依赖关系

dependencies {
 ....
 //GT基础功能
 implementation 'com.github.1079374315:GSLS_Tool:v1.1.7'//如果不需要使用全部功能,可以只添加GT基础依赖。
}

添加好依赖后就可以来干货了

项目目录:标红箭头的是接下来要添加的

Android——SQLite数据库(简单操作)_第2张图片

 

第二步:添加 xml 布局文件,直接复制粘贴 就行。




    

    

        

    

    

        

            

            
        

        

            

            
        

        

            

            
        

        

            

            
        

    

    

        

第三步:创建实体类

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

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

    public LoginBean() {
        super();
    }

    public LoginBean(int loginID, String userName, String passWord, String loginRole) {
        this.loginID = loginID;
        this.userName = userName;
        this.passWord = passWord;
        this.loginRole = loginRole;
    }

    public String getLoginRole() {
        return loginRole;
    }

    public void setLoginRole(String loginRole) {
        this.loginRole = loginRole;
    }

    public int getLoginID() {
        return loginID;
    }

    public void setLoginID(int loginID) {
        this.loginID = loginID;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassWord() {
        return passWord;
    }

    public void setPassWord(String passWord) {
        this.passWord = passWord;
    }

    @Override
    public String toString() {
        return "LoginBean{" +
                "loginID=" + loginID +
                ", userName='" + userName + '\'' +
                ", passWord='" + passWord + '\'' +
                ", loginRole='" + loginRole + '\'' +
                '}';
    }
}

第四步:写MainActivity 文件

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

    //实例化 Hibernate 数据库
    @GT.Hibernate.Build(sqlName = "GT",sqlVersion = 1)//指定数 据库名称 与 数据库版本号
    private GT.Hibernate hibernate;

    //获取组件
    @GT.Annotations.GT_View(R.id.tv_sql)
    private TextView tv_sql;
    @GT.Annotations.GT_View(R.id.et_id)
    private EditText et_id;
    @GT.Annotations.GT_View(R.id.et_userName)
    private EditText et_userName;
    @GT.Annotations.GT_View(R.id.et_passWord)
    private EditText et_passWord;
    @GT.Annotations.GT_View(R.id.et_loginRole)
    private EditText et_loginRole;

    @Override
    protected void initView(Bundle savedInstanceState) {
        build(this);//绑定 Activity
        updateSqlData();//更新数据库数据
    }

    @GT.Annotations.GT_Click({R.id.btn_save, R.id.btn_delete, R.id.btn_query, R.id.btn_update})
    public void OnBtnClick(View view) {
        switch (view.getId()) {
            case R.id.btn_save:
                boolean status = hibernate.save(getLoginBean()).isStatus();//保存数据
                showToast(status,"保存");//显示 成功或失败 吐司
                break;
            case R.id.btn_delete:
                status = hibernate.delete(LoginBean.class, getLoginBean().getLoginID()).isStatus();//根据ID删除数据
                showToast(status,"删除");//显示 成功或失败 吐司
                break;
            case R.id.btn_query:
                updateSqlData();//更新数据库数据
                toast("更新数据库数据");
                break;
            case R.id.btn_update:
                LoginBean loginBean = getLoginBean();
                //根据ID更新数据
                status = hibernate.update(LoginBean.class, loginBean, new String[]{"loginID"}, new String[]{String.valueOf(loginBean.getLoginID())}).isStatus();
                showToast(status,"更新");//显示 成功或失败 吐司
                break;
        }
    }

    //获取页面中输入数据的 LoginBean
    private LoginBean getLoginBean() {
        //判空
        String key = et_id.getText().toString();
        if ("".equals(key)) {
            key = "0";
        }
        int id = Integer.parseInt(key);
        String userName = et_userName.getText().toString();
        String passWord = et_passWord.getText().toString();
        String loginRole = et_loginRole.getText().toString();
        return new LoginBean(id, userName, passWord, loginRole);
    }

    //查询数据库数据并显示
    private void updateSqlData() {
        List loginBeans = hibernate.queryAll(LoginBean.class);//查询LoginBean表中所有数据
        String showSql = "当前数据库中有 " + loginBeans.size() + " 条数据" + "\r\n" + "\r\n";
        for (LoginBean loginBean : loginBeans) {//遍历显示
            showSql += loginBean.toString() + "\r\n" + "\r\n";
        }
        tv_sql.setText(showSql);
    }

    //显示成功或失败
    private void showToast(boolean status, String style){
        if (status) {
            toast(style + "成功!");
            updateSqlData();//更新数据库数据
        } else {
            toast(style + "失败!");
        }
    }

}

简单的操作,一目了然。

如果对该封装的SQLite有兴趣了解的可以点击这里有更加详细的教程

 

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