导包
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);
}
}
}