Android ORMLite使用
阅读原文时间:2021年04月20日阅读:1

ORMLite简单使用

完整代码

1、下载 ORMLite Jar
首先去ORMLite官网下载jar包
官网

2创建Bean对象

@DatabaseTable(tableName = "user_info")//创建表名
public class User {
    public User() {
    }

    @DatabaseField(generatedId = true)//绑定字段

    private int id;
    @DatabaseField(columnName = "name")
    private String name;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }



}

Basesql类继承OrmLiteSqliteOpenHelper

public class Basesql extends OrmLiteSqliteOpenHelper {
    private final static String DATABASE="myad.db";
    private final static int VERSION=1;
    public HashMap<String ,Dao> maps=new HashMap<>();
    public Basesql(Context context) {
        super(context, DATABASE, null, VERSION);
    }
    private static Basesql instance;
    public static synchronized Basesql getInstance(Context context){

        if(instance==null){
             synchronized (Basesql.class){
                 if(instance==null){
                     instance=new Basesql(context);
                 }
             }
        }
        return instance;
    };

    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase, ConnectionSource connectionSource) {
        try {
            TableUtils.createTable(connectionSource,User.class);
        } catch (SQLException e) {
            e.printStackTrace();
        }

    }
    //
    public synchronized Dao getdao(Class cla) throws SQLException {
          Dao dao=null;
        String simpleName = cla.getSimpleName();
        if(maps.containsKey(simpleName)){
               dao=maps.get(simpleName);
        }else{
            dao=super.getDao(cla);
            maps.put(simpleName,dao);
        }
          return dao;
    }

    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, ConnectionSource connectionSource, int i, int i1) {

    }
}
UserDao数据库操作类
public class UserDao {

    private final Basesql instance;
    private Dao getdao = null;


    public UserDao(Context context)  {
        this.instance = Basesql.getInstance(context);
        try {
            this.getdao = instance.getdao(User.class);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    //添加操作
    public void add(User user){
        try {
            getdao.create(user);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    //删除
    public void detele() throws SQLException {
        getdao.deleteById(2);
    }
    //查询
    public List<User> Query(){
        List list=null;
        try {
            list = getdao.queryForAll();
        } catch (SQLException e) {
            e.printStackTrace();
        }
 return list;
    };


    public void updates(User user){
        try {

            getdao.update(user);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    /**
     * 构建BUilder 删除条件比较复杂
     */
//    public void shanchu(User user){
//        try {
//            UpdateBuilder updateBuilder = getdao.updateBuilder();
//            //updateBuilder.where()
//
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//    }

}
 MainActivity测试类

public class MainActivity extends AppCompatActivity {
private final String TAG="sd";
    private  UserDao  userDao = new UserDao(MainActivity.this);

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    public void tt(View v){
        User user = new User();
        user.setId(1);
        user.setName("张三");
        try {

//            userDao.add(user);
            List<User> query = userDao.Query();
            for(User user1:query){
                Log.d(TAG, "tt: "+user1.getId()+user1.getName());
            }

        } catch (Exception e) {
            e.printStackTrace();
        }

        Toast.makeText(MainActivity.this, "添加成功", Toast.LENGTH_SHORT).show();
    }

    public void shan(View v){
        try {
            userDao.detele();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    public void xiu(View v){
        Toast.makeText(MainActivity.this, "添加成功", Toast.LENGTH_SHORT).show();
       // Toast.makeText(MainActivity.this, "添加成功", Toast.LENGTH_SHORT).show();
        User users = new User();
        users.setId(2);
        users.setName("李三");
        userDao.updates(users);
    }

    public void cha(View v){
//        userDao.detele();

        Toast.makeText(MainActivity.this, "添加成功", Toast.LENGTH_SHORT).show();
    }
}

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章