在单元测试里测试添加数据到数据库

发表于:2013-8-05 11:06

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:shipeng22022    来源:51Testing软件测试网采编

  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都是一致的
 }

}

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号