前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LitePal操作数据库

LitePal操作数据库

作者头像
Dream城堡
发布2018-12-19 17:12:17
4050
发布2018-12-19 17:12:17
举报
文章被收录于专栏:Spring相关Spring相关

LitePal操作数据库

1.新建一个项目LitePalTest
2.添加依赖包:
代码语言:javascript
复制
  compile 'org.litepal.android:core:1.5.0'
3.activity_main.xml:
代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center_vertical"
    android:orientation="vertical"
    tools:context="com.example.litepaltest.MainActivity">

    <Button
        android:id="@+id/create_database"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center_vertical"
        android:text="创建数据库"

        />


    <Button
        android:id="@+id/add_data"

        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"

        android:gravity="center_vertical"

        android:text="添加数据"
        />

    <Button
        android:id="@+id/update_data"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center_vertical"
        android:text="修改数据"
        />


    <Button
        android:id="@+id/delete_data"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center_vertical"
        android:text="删除数据"
        />



    <Button
        android:id="@+id/query_data"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center_vertical"
        android:text="查询数据"
        />


</LinearLayout>
4.在main下面建一个包assets,在里面建一个litepal.xml:
代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<litepal>
    <dbname value="BookStore"></dbname>
    <version value="3" />

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

</litepal>
5.建立Book和Category的类:

Book:

代码语言:javascript
复制
package com.example.litepaltest;

import org.litepal.crud.DataSupport;

/**
 * Created by Administrator on 2018/11/27 0027.
 */

public class Book extends DataSupport{

    private  int id;
    private String author;
    private  double price;
    private int pages;
    private String name;
    private String press;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public int getPages() {
        return pages;
    }

    public void setPages(int pages) {
        this.pages = pages;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPress() {
        return press;
    }

    public void setPress(String press) {
        this.press = press;
    }

    @Override
    public String toString() {
        return "Book{" +
                "id=" + id +
                ", author='" + author + '\'' +
                ", price=" + price +
                ", pages=" + pages +
                ", name='" + name + '\'' +
                ", press='" + press + '\'' +
                '}';
    }
}

Category:

代码语言:javascript
复制
package com.example.litepaltest;

/**
 * Created by Administrator on 2018/11/27 0027.
 */

public class Category {
    private int id;

    private String categoryName;

    private int categoryCode;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getCategoryName() {
        return categoryName;
    }

    public void setCategoryName(String categoryName) {
        this.categoryName = categoryName;
    }

    public int getCategoryCode() {
        return categoryCode;
    }

    public void setCategoryCode(int categoryCode) {
        this.categoryCode = categoryCode;
    }

    @Override
    public String toString() {
        return "Category{" +
                "id=" + id +
                ", categoryName='" + categoryName + '\'' +
                ", categoryCode=" + categoryCode +
                '}';
    }
}
6.修改MainActivity:
代码语言:javascript
复制
package com.example.litepaltest;

import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

import org.litepal.crud.DataSupport;
import org.litepal.tablemanager.Connector;

import java.util.List;

public class MainActivity extends AppCompatActivity {
    private static final String TAG = "MainActivity";

    private Context context;

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

                Toast.makeText(context, "建表成功", Toast.LENGTH_LONG).show();
                Connector.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("llop");
                book.setAuthor("fgdf");
                book.setPages(454);
                book.setPrice(15);
                book.setPress("unknow");
                book.save();
                Toast.makeText(context, "创建数据成功", Toast.LENGTH_LONG).show();
            }
        });


        //修改
        Button updData = (Button) findViewById(R.id.update_data);
        updData.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Book book = new Book();
                book.setName("gfgdg");
                book.setAuthor("kkjkj");
                book.setToDefault("pages");
                book.setPrice(2224);
                book.updateAll("name=? and author=?", "theTom", "ddd");
                book.save();
                Toast.makeText(context, "修改数据成功", Toast.LENGTH_LONG).show();
            }
        });

        //删除
        Button delData = (Button) findViewById(R.id.delete_data);
        delData.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                DataSupport.deleteAll(Book.class, "price<?", "15");
                Toast.makeText(context, "删除数据成功", Toast.LENGTH_LONG).show();
            }
        });

        //查询
        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(TAG, book.toString());
                }

                List<Book> books1 = DataSupport.order("price asc").find(Book.class);
                for (Book book : books1) {
                    Log.d(TAG, book.toString());
                }

                List<Book> books2 = DataSupport.limit(3).offset(1).find(Book.class);
                List<Book> books3 = DataSupport.select("name", "author", "price")
                        .where("pages > ?", "40")
                        .order("pages asc")
                        .limit(4)
                        .offset(1)
                        .find(Book.class);

                Toast.makeText(context, "查询数据成功", Toast.LENGTH_LONG).show();
            }
        });

    }
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.11.27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • LitePal操作数据库
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档