在单元测试里测试添加数据到数据库
作者:网络转载 发布时间:[ 2013/8/5 14:08:40 ] 推荐标签:
1,首先创建数据库工具类 DButil.java
代码如下:
package com.dd.dd.util;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class DButil extends SQLiteOpenHelper {
private static final int VERSION = 1; // 此处控制版本信息
private static final String DBNAME = "school.db";// 此处是要创建的数据库名
private static final String TAG = "DButil"; // 这个是要输出的标签名
public DButil(Context context) { // 创建构造方法,把Content对象传进去
super(context, DBNAME, null, VERSION); // 调用父类
}
@Override
public void onCreate(SQLiteDatabase db) { // 当没找到表时,返回来执行这个方法,去创建表
Log.i(TAG, "执行onCreate()方法");
db.execSQL("create table student (id integer primary key,name varchar(20))"); // 创建表
Log.i(TAG, "执行完onCreate()方法");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // 这个方法是控制版本的
}
}
2,第二步是要创建dao层,dao层在学习javaee时大家都已经深刻接触了吧!这里不多说了StudentDao
代码如下:
package com.dd.dd.dao;
import java.util.List;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
import com.dd.dd.model.Student;
import com.dd.dd.util.DButil;
public class StudentDao {
private DButil helper;
private SQLiteDatabase db;
private static final String TAG = "StudentDao"; // 这里也是一个标签,大家看自己要输出什么,。。。
public StudentDao(Context context) {
helper = new DButil(context); // 这里是在构造方法里调用刚才那个数据库工具类DButil.java
}
// 添加
public void add(Student student) {
db = helper.getWritableDatabase(); //调用getWritableDatabase()
Log.i(TAG, student.getName() + student.getId()); //在日志输出那里输出获得的数据
db.execSQL("insert into student (id,name) values(?,?)", new Object[] {
student.getId(), student.getName() }); //这里是执行添加语句,和mysql都是一致的
}
}

sales@spasvo.com