文档章节

数据库增删改查模板

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

没有更多内容

加载失败,请刷新页面

加载更多

中学生读《皮囊》有感相关体会4300字[图]

中学生读《皮囊》有感相关体会4300字[图]: 我们时常知道从哪里来,但很少知道自己要到哪里去,因为我们经常不认识自己,又怎能看见自己皮囊下最真实的面目?——题记 满怀欣喜去迎接五一,应...

原创小博客
12分钟前
2
0
java_集合

非并发集合 并发集合

grace_233
13分钟前
1
0
正则表达式匹配不包含

^((?!xxx).)*$

安小乐
24分钟前
1
0
python Windows tkinter应用开发3 列出目录的所有文件

在本章中,我们将编写程序来执行此操作。 1)选择文件夹。 2)在UI的标签部分打印该文件夹中的所有文件名(带文件扩展名)。 首先,修改selectFile函数以打开文件夹。主文件如下: from tki...

python测试开发人工智能安全
26分钟前
2
0
使用Laya引擎开发微信小游戏(上)

  使用一个简单的游戏开发示例,由浅入深,介绍了如何用Laya引擎开发微信小游戏。      img      作者:马晓东,腾讯前端高级工程师。      微信小游戏的推出也快一年时间了,...

SEOwhywhy
31分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部