文档章节

数据库增删改查模板

hlxxjava
 hlxxjava
发布于 2016/11/13 22:43
字数 450
阅读 12
收藏 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

没有更多内容

加载失败,请刷新页面

加载更多

deepin系统使用deepin-wine安装exe程序

deepin自带原生deepin-wine使用命令如下: deepin-wine QQBrowser.exedeepin-wine QQMusicSetup.exe 默认安装的快捷方式位置: /root/.wine/drive_c/'Program Files'/Tencent/QQBrowser/......

临江仙卜算子
50分钟前
3
0
快速get到学习Linux操作系统的点

快速get到学习Linux操作系统的点 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux能够运行主要的UNIX工具软件...

linuxCool
57分钟前
3
0
聊聊:Linux分区的那些方案

安装linux的整体步骤其实比较简单,唯一可能值得说明的地方,大概就是linux的分区了。 下面来给大家推荐一些分区方案。 1 分两个区 实际上,很多时候我们只需要分两个区:`/`和交换分区,日常...

Linux就该这么学
今天
3
0
适配器模式和外观模式

适配器模式: 将一个类的接口,转换成客户期望的另一个接口。适配器让原本不兼容的类可以合作无间。 例子: //将Enumeration转换成Iteratorpublic class EnumerationIterator implements Iter...

王怀楼
今天
4
0
7-CXF与Spring整合发布webservice

Spring+CXF整合来管理webservice 实现步骤: 1. 添加cxf.jar 包(集成了Spring.jar、servlet.jar ),spring.jar包 ,servlet.jar 包 2. 编写业务类,通过CXF来发布webservice 员工管理: 方法...

江戸川
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部