全部 文章 问答 分享 共找到146个相关内容
[文章] 快速来一个MyBatisPlus案例-增删改查
接下来,我们就使用MyBatisPlus来快速实现增删改改吧!
[文章] 19、Android开发基础之数据库的开发
有数据库目录,也会有sp的目录…话不多说,看视频好了https://www.sunofbeach.net/c/1179993764073156608课程内容1、数据库的创建和数据库升级2、编写DAO操作类(增删改查
[问答] 安卓数据库无法增删改查
我跟安卓开发基础视频做的数据库,无法对数据库进行操作,也无法做测试类
- Constants
package com.example.databasedemo;
public class Constants {
public static final String DATABASE_NAME = "sunofbeaches.db";
public static final int VERSION_CODE = 3;
public static final String TABLE_NAME = "employee";
}
- DatabaseHepler:
package com.example.databasedemo;
import android.content.Context;
import android.database.DatabaseErrorHandler;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.nfc.Tag;
import android.util.Log;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String TAG = "DatabaseHelper";
/*
* context 上下文
* name 数据库名称
* factory 游标工厂
* version 版本号*/
public DatabaseHelper( Context context) {
super(context, Constants.DATABASE_NAME,null,Constants.VERSION_CODE);
}
@Override
public void onCreate(SQLiteDatabase db) {
//创建时的反馈
Log.d(TAG,"创建数据库");
String sql = "create table "+Constants.TABLE_NAME+"(_id integer,name varchar,age integer,salary integer)";
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
//升级时的反馈
Log.d(TAG,"升级数据库...");
String sql;
switch (oldVersion){
case 1:
//添加address和这个phone字段
sql = "alter table "+ Constants.TABLE_NAME + " add phone integer";
sql = "alter table "+ Constants.TABLE_NAME + " add address varchar";
db.execSQL(sql);
break;
case 2:
sql = "alter table "+ Constants.TABLE_NAME + " add address varchar";
db.execSQL(sql);
break;
case 3:
//
break;
}
}
}
- Dao:
package com.example.databasedemo;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
public class Dao {
private final DatabaseHelper mHelper;
private static final String TAG = "Dao";
public Dao(Context context){
//创建数据库
mHelper = new DatabaseHelper(context);
}
public void insert(){
SQLiteDatabase db = mHelper.getWritableDatabase();
/* String sql = "insert into " + Constants.TABLE_NAME + "(_id,name,age,salary,phone,address) values(?,?,?,?,?,?)";
db.execSQL(sql,new Object[]{1,"liuliu",60,1,110,"USA"});*/
ContentValues values = new ContentValues();
//添加数据
values.put("_id",2);
values.put("name","larrypage");
values.put("salary",1);
values.put("age",44);
values.put("address","USA");
db.insert(Constants.TABLE_NAME,null,values);
db.close();
}
public void delete(){
SQLiteDatabase db = mHelper.getWritableDatabase();
/*String sql = "delete from " + Constants.TABLE_NAME + " where age = 60";
db.execSQL(sql);*/
int delete = db.delete(Constants.TABLE_NAME, null, null);
Log.d(TAG,"delete_delete === " + delete);
db.close();
}
public void update(){
SQLiteDatabase db = mHelper.getWritableDatabase();
/*String sql = "update " + Constants.TABLE_NAME + " set salary = 2 where age = 60";
db.execSQL(sql);*/
ContentValues values = new ContentValues();
values.put("age",78);
db.update(Constants.TABLE_NAME,values,null,null);
db.close();
}
public void query(){
SQLiteDatabase db = mHelper.getWritableDatabase();
/* String sql = "select * from " + Constants.TABLE_NAME;
Cursor cursor = db.rawQuery(sql, null);
while (cursor.moveToNext()){
int index = cursor.getColumnIndex("name");
String name = cursor.getString(index);
Log.d(TAG,"name ==" + name );
}
cursor.close();*/
Cursor cursor = db.query(Constants.TABLE_NAME, null, null, null, null, null, null);
while (cursor.moveToNext()){
int id = cursor.getInt(0);
String name = cursor.getString(1);
Log.d(TAG,"id == " + id + " name = " + name);
}
cursor.close();
db.close();
}
}
- TestDatabase:
package com.example.databasedemo;
import android.content.Context;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.platform.app.InstrumentationRegistry;
import org.junit.Test;
import org.junit.runner.RunWith;
@RunWith(AndroidJUnit4.class)
public class TestDatabase {
@Test
public void testCreate(){
}
@Test
public void testInsert(){
Context getContext = InstrumentationRegistry.getInstrumentation().getContext();
Dao dao = new Dao(getContext);
dao.insert();
}
@Test
public void testDelete(){
Context getContext = InstrumentationRegistry.getInstrumentation().getContext();
Dao dao = new Dao(getContext);
dao.delete();
}
@Test
public void testUpdate(){
Context getContext = InstrumentationRegistry.getInstrumentation().getContext();
Dao dao = new Dao(getContext);
dao.update();
}
@Test
public void testQuery(){
Context getContext = InstrumentationRegistry.getInstrumentation().getContext();
Dao dao = new Dao(getContext);
dao.query();
}
}
- MainActivity
package com.example.databasedemo;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//创建数据库
DatabaseHelper helper = new DatabaseHelper(this);
helper.getWritableDatabase();
}
}


2022-04-23 14:24
·
数据库
[问答] 求大佬救我
我想测试我写好的dao类中的对数据库中数据增删改查方法,但是报错错误:程序包androidx.test不存在错误:找不到符号符号:类AndroidJUnit4
2019-12-07 20:31
·
错误
[问答] SQLite:查询时数据并没有打印出来
大家好,我最近正在学SQLite相关知识,主要是在写用SQL语句进行数据库的增删改查,然后按照博主的视频思路,增删改都可以单元测试通过,但是查数据始终通过不了,然后自然数据查询就不会有输出。
2022-06-21 11:29
·
SQLite
[问答] testCase无法继承的问题
测试类 用DAO 进行增删改查时,遇到testCase无法继承的问题,然后采用了https://blog.csdn.net
2021-11-16 16:34
·
testCase无法继承的问题
[文章] 阳光沙滩博客系统-管理中心轮播图管理
轮播图模块轮播图也是一个简单的模块功能,对数据的CRUD,增删改查添加轮播图添加轮播图前,要上传图片,然后返回访问的ID,然后拼接成url这样子创建轮播图的bean,就可以提交了。
[文章] 笔记二、sqlite数据库
OverridepublicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){}}2.创建bean类就是创建对象类geterseter方法,没什么技术含量3.二级标题创建dao类(增删改查
2020-04-25 17:36
·
sqlite数据库
[文章] 阳光沙滩博客系统-SpringJap的增删改查练习
以Label为例子Label的DaopublicinterfaceLabelDaoextendsJpaRepository<Label,String>,JpaSpecificationExecutor<Label>{@ModifyingintdeleteOneById(Stringid);@Modifying@Query(value="DELETEFROM`tb_labels`WHEREid=?",nativeQuery=true)intcustomDeleteLabelById(Stringid);/***根据ID查找一个标签**@paramid*@return*/LabelfindOneById(Stringid);LabelfindOneByName(Stringname);}添加@PostMapping("/label")publicResponseResultaddLabel(@RequestBodyLabellabel){//判断数据是否有效//补全数据label.setId(idWorker.nextId()+"");label.setCreateTime(newDate());label.setUpdateTime(newDate());//保存数据labelDao.save(label);returnResponseResult.SUCCESS("测试标签添加成功");}删除@DeleteMapping("/label/{labelId}")publicResponseResultdeleteLabel(@PathVariable("labelId")StringlabelId){intdeleteResult=labelDao.customDeleteLabelById(labelId);log.info("deleteResult==>"+deleteResult);if(deleteResult>0){returnResponseResult.SUCCESS("删除标签成功");}else{returnResponseResult.FAILED("标签不存在");}}修改/更新@PutMapping("/label/{labelId}")publicResponseResultupdateLabel(@PathVariable("labelId")StringlabelId,@RequestBodyLabellabel){LabeldbLabel=labelDao.findOneById(labelId);if(dbLabel==null){returnResponseResult.FAILED("标签不存在");}dbLabel.setCount(label.getCount());dbLabel.setName(label.getName());dbLabel.setUpdateTime(newDate());labelDao.save(dbLabel);returnResponseResult.SUCCESS("修改成功");}查询@GetMapping("/label/{labelId}")publicResponseResultgetLabelById(@PathVariable("labelId")StringlabelId){LabeldbLabel=labelDao.findOneById(labelId);if(dbLabel==null){returnResponseResult.FAILED("标签不存在");}returnResponseResult.SUCCESS("获取标签成功").setData(dbLabel);}分业查询@GetMapping("/label/list/{page}/{size}")publicResponseResultlistLabels(@PathVariable("page")intpage,@PathVariable("size")intsize){if(page<1){page=1;}if(size<=0){size=Constants.DEFAULT_SIZE;}Sortsort=newSort(Sort.Direction.DESC,"createTime");Pageablepageable=PageRequest.of(page-1,size,sort);Page<Label>result=labelDao.findAll(pageable);returnResponseResult.SUCCESS("获取成功").setData(result);}条件查询@GetMapping("/label/search")publicResponseResultdoLabelSearch(@RequestParam("keyword")Stringkeyword,@RequestParam("count")intcount){List<Label>all=labelDao.findAll(newSpecification<Label>(){@OverridepublicPredicatetoPredicate(Root<Label>root,CriteriaQuery<?>criteriaQuery,CriteriaBuildercb){PredicatenamePre=cb.like(root.get("name").as(String.class),"%"+keyword+"%");PredicatecountPre=cb.equal(root.get("count").as(Integer.class),count);Predicateand=cb.and(namePre,countPre);returnand;}});if(all.size()==0){returnResponseResult.FAILED("结果为空");}returnResponseResult.SUCCESS("查找成功").setData(all);}
[文章] 并查集代码解释
@TOC并查集是啥子?并查集支持查找一个元素所属的集合,还可以将两个不在一个集合的元素合并。举个栗子,你有家谱去看看到底是不是亲戚。
2020-04-07 20:24
·
小白的学习
[问答] Android 增加需求:下单系统之服务
对于服务器端的消息推送选择采用WebSocket进行长连接,当有新消息来时候进行网络GET请求,获取JSON脚本数据,然后将这些数据存到SQLite数据库中,之后ListView的显示问题就是数据库的增删改查了
[问答] 喜马拉雅项目数据库操作,增删为什么不需要开启子线程操作呢
喜马拉雅项目数据库操作,增删为什么不需要开启子线程操作呢
2021-11-29 22:00
·
安卓喜马拉雅
[文章] spring cloud 快速开始 之 gateway篇
6、过滤器主要用于对请求的请求头、请求体、请求路径做一定的增删改。以rewritePath为例:filters:#?
[问答] 求助java.lang.NoSuchMethodError: No static method metafactory
今天跟老师做项目做到第16节,运行发现报错,然后百度查了一通发现是-->没有静态方法源工厂(Nostaticmethodmetafactory)。
2020-02-27 23:50
·
异常
[文章] 喜马拉雅seekbar进度条不准确,SimpleDateFormat转换long类型毫秒数,小时数变多的解决办法
喜马拉雅项目中前几天留的坑没解决,本来3691554毫秒转化为时间应该是01:01:31,但是log输出是09:01:31.今天看着这个8很熟悉,突发奇想中国东八区,然后查了查,果然是这样,要正常显示的话
2020-05-28 15:53
·
SimpleDateFormat
[文章] 分享博客管理系统Vue模板(后端使用MP操作数据库,使用自带的分页)
Vue增删查改模板(表格,无分页)<template><divclass="loop-box"><divclass="loop-action-bar
2021-03-09 10:40
·
vue
[问答] 阳光沙滩后端,图片上传jpg格式,时候报错
今天我发现jpg格式上传不上去,于是我查了半天我的代码,最后我用大锯老师的源码也报错(或许我改了源码?),求解后端报错
[文章] SpringBoot整合Redis后报错 java.io.IOException: 远程主机强迫关闭了一个现有的连接
然后通过上网查了好多,试了好多,才找到了解决的办法。
[问答] NoActionBar怎么去掉?谢谢。
看了视频右边选了NoActionBar,展示出来还有,不知道怎么去掉,查了一些资料,还是不明白,有没有文章可以推荐,我先看看搞一搞。菜鸟一枚,谢谢了。
2019-10-25 21:56
·
NoActionBar
[问答] 喜马拉雅SDK集成问题,错误码1004。
错误码是1004,,查了一下是没有调用初始化函数,请问大佬们怎么解决呀?
- 1
- 2
- 3
- 4
- 5
