导包
http: //ormlite.com /releases/
将core和android的jar各自下载一份并导入
compile 'com.j256.ormlite:ormlite-android:5.0'
创建实例化bean类
@DatabaseTable (tableName = "People" )
public class People {
@DatabaseField (generatedId = true )
private int id;
@DatabaseField (columnName = "name" )
private String name;
@DatabaseField (columnName = "age" ,dataType = DataType.INTEGER)
private int age;
public People () {
}
@Override
public String toString () {
return "People{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
'}' ;
}
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 int getAge () {
return age;
}
public void setAge (int age) {
this .age = age;
}
}
创建helper类,用于获取Dao对象
public class PeopeoDatabaseHelper extends OrmLiteSqliteOpenHelper {
public static final String DB_NAME="people.db" ;
public static final int DB_VERSION=1 ;
RuntimeExceptionDao<People, Integer> mRuntimeExceptionDao;
Dao<People, Integer> mDao;
public PeopeoDatabaseHelper (Context context) {
super (context, DB_NAME, null , DB_VERSION);
}
@Override
public void onCreate (SQLiteDatabase database, ConnectionSource connectionSource) {
try {
TableUtils.createTable(connectionSource,People.class);
} catch (SQLException e) {
throw new RuntimeException("建表" +DB_NAME+"失败" );
}
RuntimeExceptionDao<People, Integer> dao = getPeopleRuntimeDao();
People people = new People();
people.setAge(23 );
people.setName("小黄" );
dao.create(people);
People people2 = new People();
people.setAge(24 );
people.setName("老江" );
dao.create(people2);
}
@Override
public void onUpgrade (SQLiteDatabase database, ConnectionSource connectionSource, int oldVersion, int newVersion) {
try {
TableUtils.dropTable(connectionSource,People.class,true );
onCreate(database,connectionSource);
} catch (SQLException e) {
throw new RuntimeException("升级" +DB_NAME+"失败" );
}
}
public RuntimeExceptionDao<People,Integer> getPeopleRuntimeDao () {
if (mRuntimeExceptionDao ==null ){
mRuntimeExceptionDao =getRuntimeExceptionDao(People.class);
}
return mRuntimeExceptionDao;
}
public Dao<People, Integer> getPeopleDao () throws SQLException {
if (mDao==null ){
mDao=getDao(People.class);
}
return mDao;
}
@Override
public void close () {
super .close();
mDao=null ;
mRuntimeExceptionDao=null ;
}
}
增删改查
public class MainActivity extends AppCompatActivity {
RuntimeExceptionDao<People, Integer> dao;
@Override
protected void onCreate (Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
PeopeoDatabaseHelper peopeoDatabaseHelper = new PeopeoDatabaseHelper(this );
peopeoDatabaseHelper = OpenHelperManager.getHelper(this , PeopeoDatabaseHelper.class);
dao = peopeoDatabaseHelper.getPeopleRuntimeDao();
}
int x = 0 ;
public void insert (View view) {
People people = new People();
people.setName("小黄" + x + "号" );
people.setAge(x);
dao.create(people);
x++;
}
public void delete (View view) {
try {
int delete = dao.deleteBuilder().delete();
Log.d("meee" , getClass() + ":\n" + "delete:" + delete);
} catch (SQLException e) {
e.printStackTrace();
}
}
public void update (View view) {
try {
List<People> query = dao.queryBuilder()
.where()
.eq("name" , "小黄1号" )
.and()
.eq("age" , 1 )
.query();
for (int i = 0 ; i < query.size(); i++) {
People people = query.get(i);
people.setName("巨无霸小黄一号" );
dao.update(people);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public void query (View view) {
List<People> peoples = dao.queryForAll();
for (int i = 0 ; i < peoples.size(); i++) {
People people = peoples.get(i);
Log.d("meee" , getClass() + ":\n" + "people:" + people);
}
}
}