当前位置: 首页 > news >正文

网站建设公司销售前景上海百度推广优化排名

网站建设公司销售前景,上海百度推广优化排名,网站内链建设,松江企业网站建设人生何须万种愁#xff0c;千里云烟一笑收 一#xff0c;定义 Room也是一个ORM框架#xff0c;它在SQLite上提供了一个抽象层#xff0c;屏蔽了部分底层的细节#xff0c;使用对象对数据库进行操作#xff0c;进行CRUD就像对象调用方法一样的简单。 二#xff0c;角色介…人生何须万种愁千里云烟一笑收 一定义 Room也是一个ORM框架它在SQLite上提供了一个抽象层屏蔽了部分底层的细节使用对象对数据库进行操作进行CRUD就像对象调用方法一样的简单。 二角色介绍 谷歌官方给出了一张图片可以更加直观的了解Room的组成部分 从上图可以看出Room主要由三部分组成 1Room Database 数据库底层连接的主要接入点创建数据库就靠它了 2Data Access Objects DAO在DAO中会有一系列对数据库进行CRUD的方法声明 3Entity 实体类是对象与数据表的对应表现设计实体类并最后转化为对应的数据表 可以这么理解我们通过实体类的中Getter和Setter方法对数据进行变更操作然后Room Database使用DAO中的方法对表中的数据进行对应的操作。从而屏蔽了繁琐的数据库原生操作。当然这其中使用了注解进行功能的标注。 三基本使用 1在app的build.gradle里面添加依赖 def room_version 2.2.6 implementation androidx.room:room-runtime:$room_version annotationProcessor androidx.room:room-compiler:$room_version // use kapt for Kotlin // optional - RxJava support for Room implementation androidx.room:room-rxjava2:$room_version // optional - Guava support for Room, including Optional and ListenableFuture implementation androidx.room:room-guava:$room_version // Test helpers testImplementation androidx.room:room-testing:$room_version 2创建表Entity Entity public class YuanZhen {PrimaryKey(autoGenerate true)private int id;ColumnInfo(name name)private String name;ColumnInfo(name age)private int age;ColumnInfo(name address)private String address;Ignoreprivate String sex;public YuanZhen(String name, int age, String address) {this.name name;this.age age;this.address address;}public void setId(int id) {this.id id;}public void setName(String name) {this.name name;}public void setAge(int age) {this.age age;}public void setAddress(String address) {this.address address;}public int getId() {return id;}public String getName() {return name;}public int getAge() {return age;}public String getAddress() {return address;}Overridepublic String toString() {return YuanZhen{ id id , name name \ , age age , address address \ , sex sex \ };} } 上面其中几个注解的含义 ①Entity 表示数据库中的表 ②PrimaryKey 表示主键autoGenerate 表示自增 ③ColumnInfo 表示字段name 表示字段名称 ④Ignore 表示一个属性不加入生成表的字段只是临时使用 3创建Dao: Dao public interface YuanZhenDao {Insertvoid insert(YuanZhen... yuanzhens);Deletevoid delete(YuanZhen yuanZhen);Updatevoid update(YuanZhen yuanZhen);Query(select * from YuanZhen)ListYuanZhen getAll(); } 这里面包含了增上改查。 其中几个注解的含义 ①Dao 表示访问 DB 的方法需要声明为接口或抽象类编译阶段将生成 _Impl 实现类此处则将生成 YuanZhenDao_Impl.java 文件 ②,Insert、Delete、Update 、 Query 分别表示数据库的增删改查方法 4创建Room Database 数据库 Database(entities {YuanZhen.class},version 1,exportSchema false) public abstract class MyDatabase extends RoomDatabase {public abstract YuanZhenDao yuanZhenDao();} 其中几个注解的含义 ①Database表示数据库的定义 ②entities 表示数据库中包含的表 ③version表示数据库版本号 5使用 public class MainActivity extends AppCompatActivity {Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);new Thread(new Runnable() {Overridepublic void run() {MyDatabase myDatabase Room.databaseBuilder(getApplicationContext(),MyDatabase.class,YuanZhenDb).build();YuanZhenDao yuanZhenDao myDatabase.yuanZhenDao();yuanZhenDao.insert(new YuanZhen(yz,20,淄博市));yuanZhenDao.insert(new YuanZhen(yz1,22,淄博市));ListYuanZhen all yuanZhenDao.getAll();System.out.println(输出all.toString());}}).start();} } 输出结果 I/System.out: 输出[YuanZhen{id1, nameyz, age20, address淄博市, sexnull}, YuanZhen{id2, nameyz1, age22, address淄博市, sexnull}, YuanZhen{id3, nameyz, age20, address淄博市, sexnull} 这就是基本使用。 四条件查询 如果我们想查询某一条数据的话需要在dao里面增加条件查询 Dao public interface YuanZhenDao {Insertvoid insert(YuanZhen... yuanzhens);Deletevoid delete(YuanZhen yuanZhen);Updatevoid update(YuanZhen yuanZhen);Query(select * from YuanZhen)ListYuanZhen getAll();Query(select * from YuanZhen where name like :name)YuanZhen getByName(String name);Query(select * from YuanZhen where age in(:ages))ListYuanZhen getByAges(int[] ages); } 使用 public class MainActivity extends AppCompatActivity {Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);new Thread(new Runnable() {Overridepublic void run() {MyDatabase myDatabase Room.databaseBuilder(getApplicationContext(),MyDatabase.class,YuanZhenDb).build();YuanZhenDao yuanZhenDao myDatabase.yuanZhenDao();yuanZhenDao.insert(new YuanZhen(yz,20,淄博市));yuanZhenDao.insert(new YuanZhen(yz1,22,淄博市));YuanZhen yz yuanZhenDao.getByName(yz);System.out.println(输出ByNameyz.toString());int[] ages {20,22};ListYuanZhen byAges yuanZhenDao.getByAges(ages);System.out.println(输出ByAgesbyAges.toString());}}).start();} } 输出 I/System.out: 输出ByNameYuanZhen{id1, nameyz, age20, address淄博市, sexnull} I/System.out: 输出ByAges[YuanZhen{id1, nameyz, age20, address淄博市, sexnull}, YuanZhen{id2, nameyz1, age22, address淄博市, sexnull} 如果只想查姓名和地址那么可以新建一个类 public class YuanZhenNew {ColumnInfo(name name)public String name;ColumnInfo(name address)public String address;public void setName(String name) {this.name name;}public void setAddress(String address) {this.address address;}public String getName() {return name;}public String getAddress() {return address;}public YuanZhenNew(String name, String address) {this.name name;this.address address;}Overridepublic String toString() {return YuanZhenNew{ name name \ , address address \ };} } 在dao中查询 Dao public interface YuanZhenDao {Insertvoid insert(YuanZhen... yuanzhens);Deletevoid delete(YuanZhen yuanZhen);Updatevoid update(YuanZhen yuanZhen);Query(select * from YuanZhen)ListYuanZhen getAll();Query(select * from YuanZhen where name like :name)YuanZhen getByName(String name);Query(select * from YuanZhen where age in(:ages))ListYuanZhen getByAges(int[] ages);Query(select name,address from YuanZhen )public ListYuanZhenNew getNew(); }使用 public class MainActivity extends AppCompatActivity {Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);new Thread(new Runnable() {Overridepublic void run() {MyDatabase myDatabase Room.databaseBuilder(getApplicationContext(),MyDatabase.class,YuanZhenDb).build();YuanZhenDao yuanZhenDao myDatabase.yuanZhenDao();yuanZhenDao.insert(new YuanZhen(yz,20,淄博市));yuanZhenDao.insert(new YuanZhen(yz1,22,淄博市));ListYuanZhenNew aNew yuanZhenDao.getNew();System.out.println(输出aNewaNew.toString());}}).start();} } 输出 I/System.out: 输出aNew[YuanZhenNew{nameyz, address淄博市}, YuanZhenNew{nameyz1, address淄博市}] 更多高级用法参考文章Android--Jetpack--数据库Room详解二-CSDN博客
http://www.pierceye.com/news/174968/

相关文章:

  • 百度站长 添加网站哪些网站可以上传自己做的视频
  • 网站开发的论文引言微信网站开发视频教程
  • 宁波网站制作出售爱南宁app下载官网最新版
  • 科技类公司名称大全常州网站关键词优化咨询
  • 共享ip服务器做网站如何把网站推广出
  • 网站开发标书范本免费模板下载网站推荐
  • 郑州品牌网站建设宿松县住房和城乡建设局网站
  • 电商网站开发与运营赣州爆炸事故
  • 牡丹区建设局网站黄骅贴吧最近发生的事
  • 手机一键建站北京公司网站建站
  • 做个简单网站大概多少钱广州联亨科技网站建设
  • 恺策网优 营销型网站建设品牌服务商在线html网站开发
  • 做seo要明白网站桂林生活网新闻
  • 网站建设供需武昌做网站哪家专业
  • 好看的电商网站模板网易对象存储wordpress
  • 上海工商网查询企业信息查询系统安卓优化大师app下载
  • 深圳网站快速备案亳州做网站
  • 个人网站如何建jsp做的网站源码
  • 竹子建站公司怎么在百度上创建自己的网页
  • 专门做恐怖电影网站电子商务网站建设 实验
  • 旅游网站案例遂宁网站建设公司哪家好
  • WordPress站群更新wordpress 图片命名吗
  • 网站建设最好的公司哪家好网站模板下载软件
  • 运输公司网站模板网站建设及使用
  • 哈尔滨cms模板建站网站建设天地心
  • 廊坊代运营公司广东网站se0优化公司
  • 西双版纳建设厅网站宁夏建网站报价
  • 网站优化分析软件手机端网站源码
  • 我想克隆个网站 怎么做网站 运营工作如何做
  • 承德网站制作公司哪家好如何选择邯郸网站建设