zoukankan      html  css  js  c++  java
  • Android Ormlite 学习笔记1 -- 基础

    Ormlite 是一个开源Java数据实体映射框架。其中依赖2个核心类库:

    1、ormlite-android-4.48.jar

    2、ormlite-core-4.48.jar

    新建项目,引用上面2个类库,开始第一个Helloword。

    新建一个实体类Users.java,实体类必须有一个无参构造函数

    package com.example.model;
    
    import com.j256.ormlite.dao.ForeignCollection;
    import com.j256.ormlite.field.DatabaseField;
    import com.j256.ormlite.field.ForeignCollectionField;
    import com.j256.ormlite.table.DatabaseTable;
    
    @DatabaseTable(tableName = "accounts")
    public class Users {
        
        @DatabaseField(id=true)
        private String uid;
        
        public String getUid() {
            return uid;
        }
    
        public void setUid(String uid) {
            this.uid = uid;
        }
    
        public String getUsername() {
            return username;
        }
    
        public void setUsername(String username) {
            this.username = username;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        @DatabaseField(canBeNull = false)
        private String username;
        
        @DatabaseField(canBeNull = true)
        private String name;
        
        public Users(){}
    }

    要实现数据访问必须得对数据进行访问。新建一个类:DataHelp.java,该类类似于SqliteDatabaseOpenHelpe

    package com.example.data;
    
    import java.sql.SQLException;
    
    import android.content.Context;
    import android.database.sqlite.SQLiteDatabase;
    import android.database.sqlite.SQLiteDatabase.CursorFactory;
    import android.util.Log;
    
    import com.example.model.Users;
    import com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper;
    import com.j256.ormlite.support.ConnectionSource;
    import com.j256.ormlite.table.TableUtils;
    
    public class DataHelper extends OrmLiteSqliteOpenHelper {
    
        public DataHelper(Context context, String databaseName,
                CursorFactory factory, int databaseVersion) {
            super(context, databaseName, factory, databaseVersion);
        }
    
        @Override
        public void onCreate(SQLiteDatabase db, ConnectionSource conn) {
            try {
                
                // 完成初始化表。
                
                TableUtils.createTable(conn, Users.class);
                
            } catch (SQLException e) {
                
                e.printStackTrace();
                Log.e("chenrui", "表创建失败:" + e.getMessage());
                
            }
        }
    
        @Override
        public void onUpgrade(SQLiteDatabase arg0, ConnectionSource arg1, int arg2,
                int arg3) {
    
        }
    
    }

    完成了数据的创建,接下来就是操作具体的表了。在DataHelp.java 中添加下面的方法轻松创建一个操作数据库的接口。泛型接口中Dao<T,ID> 中ID为主键类型。

    public Dao<Users, String> getUser() throws SQLException {
            if (user == null)
                user = this.getDao(Users.class);
            return user;
        }

    最后程序调用。

    public void testCreate() throws SQLException {
    
            Dao<Users, String> dao = DataFactory.getFactory(mContext).getUser(); // 这里使用工厂调用。你也可以 new DataHelp(context,"test.db",null,1).getUser();
    Users m = new Users(); m.setName("陈rui"); m.setUid("1234"); m.setUsername("chenrui"); dao.create(m); }

      

  • 相关阅读:
    最长不重复子串
    add two nums
    logistic 回归
    threesum
    KNN算法思想与实现
    Python的易错点
    ccf 目录格式转换
    Azure 带宽
    Office 365 如何使用powershell查询邮件追踪
    Azure AD Connect 手动同步
  • 原文地址:https://www.cnblogs.com/chenrui7/p/3567792.html
Copyright © 2011-2022 走看看