Android之LitePal增删改查—3

 

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button createDatabase = (Button) findViewById(R.id.create_database);
        createDatabase.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                LitePal.getDatabase();


            }
        });




        Button addData = (Button) findViewById(R.id.add_data);
        addData.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Book book = new Book();
                book.setName("java编程思想");
                book.setAuthor("dan brown");
                book.setPages(500);
                book.setPress("unkonw");
                book.setPrice(50.2);
                book.save();
            }
        });


        Button updateData = (Button) findViewById(R.id.update_data);
        updateData.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Book book = new Book();
                book.setName("java入门到精通");
                book.setAuthor("dan brown");
                book.setPages(50);
                book.setPress("unkonw");
                book.setPrice(55.2);
                book.save();
                book.setPrice(100.2);
                book.save();
            }
        });


        Button deleteData = (Button) findViewById(R.id.delete_data);
        deleteData.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                DataSupport.deleteAll(Book.class, "price>?", "90");
            }
        });


        Button queryData = (Button) findViewById(R.id.query_data);
        queryData.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                List<Book> books = DataSupport.findAll(Book.class);
                for (Book book : books) {
                    Log.d("Mainactivity", "book name is:" + book.getName());
                    Log.d("Mainactivity", "book author is:" + book.getAuthor());
                    Log.d("Mainactivity", "book pages is:" + book.getPages());
                    Log.d("Mainactivity", "book price is:" + book.getPrice());
                    Log.d("Mainactivity", "book press is:" + book.getPress());
                }
            }
        });
    }

总结:

1.   LitePal采用的是对象关系映射(ORM)模式,需要配置映射模型,也就是指定用那个类来映射为数据库的表,如下:

<mapping class="com.example.litepaltest.Book"></mapping>

2.   如果要修改表,比如添加新字段或者创建新的映射模型,记得在版本号加1就行了

 <version value="2"></version>

3.   LitePal进行表管理操作是不需要模型类有任何的继承结构,但是进行增删改查就不行了,必须要继承DataSupport类才行,save()方法就是来自DataSupport类的。上面代码中的更新方式只能对已存储的对象进行操作,更灵活的应该是下面这一种,不用从新插入一条新的记录,直接在当前记录修改。deleteAll用法也是一样。

Book book = new Book();
book.setPrice(132.5);
book.setAuthor("anchor");
book.updateAll("name = ? and author = ?","java入门到精通","dan brown");

 

                                                                            

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值