SQLite数据存储批量添加
2016-07-01 08:03
288 查看
public class PhoneDao {
private MySQLiteOpenHelper helper;
public PhoneDao(Context context) {
helper = new MySQLiteOpenHelper(context);
}
/**
* 批量添加数据的方法
*/
public void AllInsert(List<Phone> list) {
SQLiteDatabase db = helper.getWritableDatabase();
String sql = "insert into phone(name,brand,price)values(?,?,?)";
// 根据sql语句得到compileStatement对象
SQLiteStatement statement = db.compileStatement(sql);
// 开启事务
db.beginTransaction();
// 循环执行插入数据操作
for (Phone phone : list) {
statement.bindAllArgsAsStrings(new String[] { phone.getName(),
phone.getBrand(), phone.getPrice() });
statement.executeInsert();
}
//设置事务成功
db.setTransactionSuccessful();
//关闭事务
db.endTransaction();
//关闭数据库
db.close();
}
}
public class StudentDao {
private static final String tabName="student";
private MySQLiteOpenHelper helper;
public StudentDao(Context context){
helper = new MySQLiteOpenHelper(context);
}
/**
* 添加数据
*/
public void insert(Student student){
SQLiteDatabase db = helper.getWritableDatabase();
//设置数据
ContentValues values=new ContentValues();
//组合数据
values.put("name", student.getName());
values.put("age", student.getAge());
values.put("address", student.getAddress());
//执行添加操作
db.insert(tabName, null, values);
Log.i("TAG", "+++++++++++");
db.close();
}
/**
* 删除数据
*/
public void delete(String name){
SQLiteDatabase db = helper.getWritableDatabase();
String[] whereArgs=new String[]{"%"+name+"%"};
db.delete(tabName, "name like ?", whereArgs);
db.close();
}
/**
* 修改数据
*/
public void update(){
SQLiteDatabase db = helper.getWritableDatabase();
ContentValues values=new ContentValues();
values.put("age", "30");
db.update(tabName, values, "name=?", new String[]{"张三"});
db.close();
}
/**
* 查询数据
*/
public List<Student> select(){
List<Student> list=new ArrayList<Student>();
SQLiteDatabase db = helper.getWritableDatabase();
Cursor cursor = db.query(tabName, null, null, null, null, null, null);
if(cursor!=null&&cursor.getCount()>0){
//获取字段索引值
int namecolumnIndex = cursor.getColumnIndex("name");
int agecolumnIndex = cursor.getColumnIndex("age");
int addresscolumnIndex = cursor.getColumnIndex("address");
//通过新的方式
for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
//获取数据
String name = cursor.getString(namecolumnIndex);
String age = cursor.getString(agecolumnIndex);
String address = cursor.getString(addresscolumnIndex);
Student student=new Student(name,age,address);
list.add(student);
// System.out.println("name="+name+" age="+age+" address="+address);
}
}
Log.i("TAG", "--------------");
cursor.close();
db.close();
return list;
}
}
private MySQLiteOpenHelper helper;
public PhoneDao(Context context) {
helper = new MySQLiteOpenHelper(context);
}
/**
* 批量添加数据的方法
*/
public void AllInsert(List<Phone> list) {
SQLiteDatabase db = helper.getWritableDatabase();
String sql = "insert into phone(name,brand,price)values(?,?,?)";
// 根据sql语句得到compileStatement对象
SQLiteStatement statement = db.compileStatement(sql);
// 开启事务
db.beginTransaction();
// 循环执行插入数据操作
for (Phone phone : list) {
statement.bindAllArgsAsStrings(new String[] { phone.getName(),
phone.getBrand(), phone.getPrice() });
statement.executeInsert();
}
//设置事务成功
db.setTransactionSuccessful();
//关闭事务
db.endTransaction();
//关闭数据库
db.close();
}
}
public class StudentDao {
private static final String tabName="student";
private MySQLiteOpenHelper helper;
public StudentDao(Context context){
helper = new MySQLiteOpenHelper(context);
}
/**
* 添加数据
*/
public void insert(Student student){
SQLiteDatabase db = helper.getWritableDatabase();
//设置数据
ContentValues values=new ContentValues();
//组合数据
values.put("name", student.getName());
values.put("age", student.getAge());
values.put("address", student.getAddress());
//执行添加操作
db.insert(tabName, null, values);
Log.i("TAG", "+++++++++++");
db.close();
}
/**
* 删除数据
*/
public void delete(String name){
SQLiteDatabase db = helper.getWritableDatabase();
String[] whereArgs=new String[]{"%"+name+"%"};
db.delete(tabName, "name like ?", whereArgs);
db.close();
}
/**
* 修改数据
*/
public void update(){
SQLiteDatabase db = helper.getWritableDatabase();
ContentValues values=new ContentValues();
values.put("age", "30");
db.update(tabName, values, "name=?", new String[]{"张三"});
db.close();
}
/**
* 查询数据
*/
public List<Student> select(){
List<Student> list=new ArrayList<Student>();
SQLiteDatabase db = helper.getWritableDatabase();
Cursor cursor = db.query(tabName, null, null, null, null, null, null);
if(cursor!=null&&cursor.getCount()>0){
//获取字段索引值
int namecolumnIndex = cursor.getColumnIndex("name");
int agecolumnIndex = cursor.getColumnIndex("age");
int addresscolumnIndex = cursor.getColumnIndex("address");
//通过新的方式
for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
//获取数据
String name = cursor.getString(namecolumnIndex);
String age = cursor.getString(agecolumnIndex);
String address = cursor.getString(addresscolumnIndex);
Student student=new Student(name,age,address);
list.add(student);
// System.out.println("name="+name+" age="+age+" address="+address);
}
}
Log.i("TAG", "--------------");
cursor.close();
db.close();
return list;
}
}
相关文章推荐
- 数据库调优过程(三):提高数据库写入性能方案调查
- SQL语句各个部分的执行顺序
- MySql + EF6 + .Net Core
- MySql数据库基本操作练习
- MySQL5.7.13源码编译安装与配置
- Redis
- redis+主从复制+集群配置
- redis+mysql架构搭建
- mysql 数据库中 常用数据类型,约束
- oracle11g 新特性密码延迟验证引发的 血案
- postgresql 常用命令
- sqlserver行列转换
- MySQL 5.7 学习心得之安全相关特性
- MySQL 密码增强插件
- MySql5.6使用validate password 插件加强密码强度的安装及使用方法
- Mysql row number()排序函数的用法和注意
- MYSQL数据库及字段命名规范
- mysql 1064错误
- Django数据库读取出下拉框的数据源
- MySQL数据库PDO教程