数据库框架ormlimt简单使用

1、下载jar包



首先去ORMLite官网下载jar包,对于Android为:ormlite-android-4.46.jar 和 ormlite-core-4.46.jar ;

可能更高了,导入libs下并配置好


2、写实体(javaBean)类



package   com.chinaiat.ciatwild .domain;  
  
import  com.j256.ormlite.field.DatabaseField;  
import  com.j256.ormlite.table.DatabaseTable;  
  
@DatabaseTable (tableName =  "tb_user" )  //设置表名为:tb_user
public   class  User  
{  
     @DatabaseField (generatedId =  true )  //true设置主键自增长
     private   int  id;  

   //canBeNull -表示不能为null;foreign=true表示是一个外键;columnName 列名
      @DatabaseField(canBeNull = true, foreign = true, columnName = "name")
     private  String name;  

     @DatabaseField  //设置字段不加columnName也是可以的,默认
     private  String desc;  
  
     public  User()  
    {  
    }  
  
     public  User(String name, String desc)  
    {  
         this .name = name;  
         this .desc = desc;  
    }  
  
     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;  
    }  
  
     public  String getDesc()  
    {  
         return  desc;  
    }  
  
     public   void  setDesc(String desc)  
    {  
         this .desc = desc;  
    }  
}

3、编写DAO类



第一步:写个类继承 OrmLiteSqliteOpenHelper 
第二步:重写创建数据库和更新数据库方法
第三步:调用开源框架里面的工具类创建表

package com.chinaiat.ciatwild.db;

import java.sql.SQLException;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import com.chinaiat.ciatwild.CiatWildApplication;
import com.chinaiat.ciatwild.CiatWildCommon;
import com.chinaiat.ciatwild.domain.Location;
import com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper;
import com.j256.ormlite.support.ConnectionSource;
import com.j256.ormlite.table.TableUtils;

public class CiatCareOpenHelper extends OrmLiteSqliteOpenHelper {
public static CiatCareOpenHelper careOpenHelper = null;
// 数据库名称
public final static String DATABASE_NAME = "ciatwild.db";
// 数据库版本
public final static int DATABASE_VISION = 2;
public CiatCareOpenHelper(Context context, String databaseName,
CursorFactory factory, int databaseVersion) {
super(context, databaseName, factory, databaseVersion);
}

public static CiatCareOpenHelper getInstance() {//初始化CiatCareOpenHelper
if (careOpenHelper == null) {
careOpenHelper = new CiatCareOpenHelper(
CiatWildApplication.getInstance(),DATABASE_NAME, null,DATABASE_VISION);
}
return careOpenHelper;
}

@Override
public void onCreate(SQLiteDatabase arg0, ConnectionSource arg1) {
try {
TableUtils.createTable(arg1, User.class);//创建User表,后续有实体类依然如此
        //TableUtils.createTable(arg1, xxx.class);     
      } catch (SQLException e) {
         e.printStackTrace();
}
}

@Override
public void onUpgrade(SQLiteDatabase arg0, ConnectionSource arg1, int arg2,
int arg3) {
try {
TableUtils.createTableIfNotExists(arg1, User.class);//更新User表
} catch (SQLException e) {
e.printStackTrace();
}
}

}

4、在类中使用方式



   4.1创建并添加数据:


priate Dao<User, ?> userDao;
private User  user;
try  {
     userDao = CiatWildOpenHelper. careOpenHelper .getDao(User. class );//创建数据库
      user new  User ();//实例化User类
  }  catch  (SQLException e) {
    e.printStackTrace();
}
user.setName("李荣浩");//往字段中添加数据
user.setDesc("歌手");//往字段中添加数据
try {
 userDao.createorupData(user);//创建表或更新表,并把数据存入数据库中
}catch(SQLException e){
    e.printStackTace();
}



4.2查询数据:


         4.2.1 查询所有:
Map<String, Object> query = new HashMap<String, Object>();
                    query .put("name","李荣浩");
                    List<User> queryName=userDao. queryForFieldValues(query);
                   
                    查询一条数据: userDao.queryForId(id); 



                    4.2.2 匹配查询:
                               userDao .queryBuilder().where().eq( "id" ,id);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值