美文网首页安卓开发者联盟
安卓快速开发框架(十三)XBaseAndroid本地使用SQLi

安卓快速开发框架(十三)XBaseAndroid本地使用SQLi

作者: 往后余生9375 | 来源:发表于2018-07-05 21:33 被阅读70次

    创建实体

    @DatabaseTable
    public class Student {
    
        @DatabaseField
        private int id;
    
        public int getId() {
            return id;
        }
    
        public void setId(int id) {
            this.id = id;
        }
    
        @DatabaseField
        private String name;
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    }
    

    创建Dao

    public class StudentDao {
        private BaseDao<Student,Integer> studentDao;//数据库操作对象
    
        public StudentDao(Context context){
            studentDao = new BaseDaoImpl<>(context,Student.class);
        }
    
        public int add(Student s){
            try {
                return studentDao.save(s);
            } catch (SQLException e) {
                e.printStackTrace();
                return 0;
            }
        }
    }
    

    初始化数据库信息

    建议在Application或启动界面做好
    DatabaseHelper.setDatabase("easy",2);//设置数据库版本及名称
    DatabaseHelper.addTable(Student.class);//必须加载表。
    

    演示

    StudentDao sd = new StudentDao(context);
    Student s = new Student();
    s.setId(1);
    s.setName("ggeegegerger");
    int res = sd.add(s);
    toast("添加学生结果是:" + res);
    

    监听数据库版本

    DatabaseHelper.getInstance(this).setDatabaseVersionChangeListener(new DatabaseVersionChangeListener() {
        @Override
        public void onChange(int oldVersion, int newVersion) {
        toast("数据库版本发生变化:老版本:"+oldVersion +" 新版本:"+newVersion);
        if(newVersion == 2){
            try {
            DatabaseHelper.getInstance(getContext()).getDao(Student.class).executeRaw("ALTER TABLE 'student' ADD COLUMN sex int");
            toast("数据更新成功");
            } catch (SQLException e) {
            e.printStackTrace();
            toast("数据更新失败");
            }
        }
        }
    });
    
    toast("当前数据库版本:"+DatabaseHelper.getInstance(this).getVersion() +"数据库名:"+DatabaseHelper.getInstance(this).getDatabaseName());
    

    相关文章

      网友评论

        本文标题:安卓快速开发框架(十三)XBaseAndroid本地使用SQLi

        本文链接:https://www.haomeiwen.com/subject/uzdmuftx.html