文档章节

数据库增删改查模板

hlxxjava
 hlxxjava
发布于 2016/11/13 22:43
字数 450
阅读 7
收藏 0
    import java.util.ArrayList;
    import java.util.List;

    import android.content.ContentValues;
    import android.content.Context;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;

    import com.template.studentinfosystem.db.StudentDBOpenHelper;
    import com.template.studentinfosystem.domain.Student;

    /**
     * 学生信息数据库的dao( data access objcet)
     * 增删改查
     */
    public class StudentDao {
        private StudentDBOpenHelper helper;

        /**
         * 只有一个有参的构造方法,要求必须传入上下文
         * @param context
         */
        public StudentDao(Context context) {
            helper = new StudentDBOpenHelper(context);
        }
        /**
         * 添加一个学生
         * @param name 姓名
         * @param sex 性别,male female
         * @return result 添加到数据库的那一行, -1添加失败
         */
        public long add(String name,String sex){
            SQLiteDatabase  db = helper.getWritableDatabase();
            //db.execSQL("insert into student (name,sex) values (?,?)", new Object[]{name,sex});
            ContentValues values =new ContentValues();
            values.put("name", name);
            values.put("sex", sex);
            long result = db.insert("student", null, values); //组拼sql语句实现的.带返回值
            db.close();//释放资源
            return result;
        }

        /**
         * 删除一个学生
         * @param name 姓名
         * @return result 删除了几行 0 代表删除失败
         */
        public int delete(String name){
            SQLiteDatabase  db = helper.getWritableDatabase();
            //db.execSQL("delete from student where name=?",new Object[]{name});
            int result = db.delete("student", "name=?", new String[]{name});
            db.close();//释放资源
            return result;
        }

        /**
         * 修改一个学生的性别
         * @param name 姓名
         * @param newsex 新的性别
         * @return 更新了几行 0更新失败
         */
        public int update(String name,String newsex){
            SQLiteDatabase  db = helper.getWritableDatabase();
            //db.execSQL("update student set sex =? where name=?",new Object[]{newsex,name});
            ContentValues values = new ContentValues();
            values.put("sex", newsex);
            int result = db.update("student", values, "name=?", new String[]{name});
            db.close();//释放资源
            return result;
        }
        /**
         * 查询学生的性别
         * @param name 学生的姓名
         * @return 学生性别 null代表学生不存在
         */
        public String find(String name){
            String sex = null;
            SQLiteDatabase  db = helper.getReadableDatabase();
            //结果集 游标
            //Cursor cursor = db.rawQuery("select sex from student where name=?", new String[]{name});
            Cursor cursor = db.query("student", new String[]{"sex"}, "name=?", new String[]{name}, null, null, null);
            boolean result = cursor.moveToNext();
            if(result){
                sex = cursor.getString(0);
            }
            cursor.close();//释放资源
            db.close();
            return sex;
        }
        /**
         * 获取全部的学生信息
         * @return
         */
        public List<Student> findAll(){
            List<Student> students =new ArrayList<Student>();
            SQLiteDatabase  db = helper.getReadableDatabase();
            //Cursor cursor = db.rawQuery("select name, sex from student", null);
            Cursor cursor =  db.query("student", new String[]{"name","sex"}, null, null, null, null, null);
            while(cursor.moveToNext()){
                String name = cursor.getString(0);
                String sex = cursor.getString(1);
                Student student = new Student();
                student.setName(name);
                student.setSex(sex);
                students.add(student);
            }
            cursor.close();
            db.close();
            return students;
        }

    }

 

© 著作权归作者所有

共有 人打赏支持
hlxxjava
粉丝 1
博文 7
码字总数 1481
作品 0
武汉
Fly的狐狸/jmoney

财务管理jfinal+beetl 本网站后台基于Jfinal开发,前台模板使用beetl,数据库为Mysql。 演示地址:http://www.jflyfox.com/jmoney 平台部署说明 下载jmoney项目:配置数据库文件/jmoney/src...

Fly的狐狸
2014/06/05
0
0
第二部分 DAO层设计模式

DAO设计模式: 分层操作:使项目目录清晰,便于以后的维护和拓展 1.把对数据库的操作(增删改查等)封装到一个包里(就是把Dbutils包里的方法封装到里面,当你换数据库的时候你只需要改DAO层里...

孙浩j
2017/12/03
0
0
金盆洗手/tjpcms

tjpcms官网:http://www.tjpcms.com tjpcms有什么用? 这是所有读者最核心的疑问!网上的开源框架多如牛毛,但往往讲了一大堆,读者也没搞清楚框架究竟能帮使用者做什么。tjpcms最核心的作用...

金盆洗手
2017/01/13
0
0
基于 Java 的 CMS 解决方案 - tjpcms

官网:http://www.tjpcms.com tjpcms 是一套基于 Java 的 CMS 解决方案,开源免费。其独有的实时配置增删改查的功能,是其区别于同类 cms 的最大特点,也是最大优势,极大减少了重复劳动。懂...

金盆洗手
2017/01/12
0
6
通用管理后台--YiiBoot

YiiBoot使用Yii2 + AdminLTE + mysql,开发高效的通用管理后台;采用代码生成器,以AminLTE为样式模板,生成数据库表的数据模型model、增删改查的视图view和控制器controller,菜单配置后直接...

penngo
2016/10/20
5.3K
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

配置Spring的注解支持

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 配置Spring的注解支持 以上也提到了使用注解来配...

凯哥学堂
41分钟前
0
0
关于Spring Aop存在的一点问题的思考

在本人前面的文章Spring Aop原理之切点表达式解析中讲解了Spring是如何解析切点表达式的,在分析源码的时候,出现了如下将要讲述的问题,我认为是不合理的,后来本人单纯使用aspectj进行试验...

爱宝贝丶
43分钟前
0
0
JavaScript 概述

JavaScript是面向Web的编程语言。绝大多数现代网站都使用了JavaScript,并且所有的现代Web浏览器——基于桌面系统、游戏机、平板电脑和智能手机的浏览器——均包含了JavaScript解释器。这使得...

Mr_ET
今天
0
0
Java Run-Time Data Areas(Java运行时数据区/内存分配)

Java运行时数据区(内存分配) 本文转载官网 更多相关内容可查看官网 中文翻译可参考 2.5. Run-Time Data Areas The Java Virtual Machine defines various run-time data areas that are use...

lichuangnk
今天
0
0
docker learn :services docker-compose.yml

docker-compose.yml定义了服务的运行参数 version: "3" services: web: # replace username/repo:tag with your name and image details image: hub.c.163.com/dog948453219/friendlyhello d......

writeademo
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部