zoukankan      html  css  js  c++  java
  • 在单元测试里测试添加数据到数据库

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


    3,接下来就是创建测试类方法StudentDaoTest.java

    代码如下

    package com.dd.dd.dao;
    
    import android.test.AndroidTestCase;
    import android.util.Log;
    
    import com.dd.dd.model.Student;
    
    public class StudentDaoTest extends AndroidTestCase {
    	private static final String TAG = "StudentDaoTest"; // 标签名
    
    	public void testadd() {
    		Log.i(TAG, "数据库连接成功!"); // 输出日志
    		StudentDao studentDao = new StudentDao(this.getContext()); // 创建StudentDao实例,并传入this.getContext()
    		Student student = new Student(); // 创建Student实例,Student就是bean类
    		student.setId(1); // 传递数据
    		student.setName("旺旺");
    		studentDao.add(student);// 调用add方法
    		Log.i(TAG, "数据添加成功!");
    	}
    }
    


    然后就这些了,忘了给大家写那个Student类的代码了,

    其实里面就是一个id 还有一个name 俩个属性,然后封装就完成了!


    然后就是运行并且看日志输出就可以了




    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    猫 先吃药
    用抛物线筛选素数
    999999999分解质因数
    九宫数独简介(转)
    空间想象力大战!Smale球面外翻问题
    神奇的分形艺术(一):无限长的曲线可能围住一块有限的面积
    Kobon问题新进展:17条直线可构成多少个互不重叠的三角形
    关于2008:你必须知道的10个事实
    正多边形的滚动与旋轮线下的面积
    我见过的最酷的排序算法演示(乐死我了~)
  • 原文地址:https://www.cnblogs.com/shipeng22022/p/4614052.html
Copyright © 2011-2022 走看看