Xutils3的数据库模块
来源:互联网 发布:苹果手机数据修复 编辑:程序博客网 时间:2024/05/18 01:02
步骤:
(1). 创建数据表;
(2). DaoConfig 获取数据库的配置信息;
(3). 获取数据库实例: x.getDb(daoConfig);
(4). 数据库的增删改查。
1. 创建数据表
在这里要强调的是,数据库里面表的创建的时间,只有在你对数据库里面的操作涉及到这张表的操作时,会先判断当前的表是否存在,如果不存在,才会创建一张表,如果存在,才会进行相应的CRUD操作。
package study.bawei.com.zhangqianday2.bean;import org.xutils.db.annotation.Column;import org.xutils.db.annotation.Table;/** * 1:类的用途 * 2:@author 张倩 * 3:@date 2017/8/31 08:52 */@Table(name="Student")public class bean { @Column(name="id",isId = true,autoGen = true) int id; @Column(name="sname") String sname;//无参构造必须要有 public bean() { } @Override public String toString() { return "bean{" + "id=" + id + ", sname='" + sname + '\'' + '}'; } public String getSname() { return sname; } public void setSname(String sname) { this.sname = sname; } public bean(String sname) { this.sname = sname; }}
上表中包含了db相关注解:
1 @Check check约束
2 @Column 列名
3 @Finder 一对多、多对一、多对多关系(见sample的Parent、Child中的使用)
4 @Foreign 外键
5 @Id 主键,当为int类型时,默认自增。 非自增时,需要设置id的值
6 @NoAutoIncrement 不自增
7 @NotNull 不为空
8 @Table 表名
9 @Transient 不写入数据库表结构
10 @Unique 唯一约束
注解属性
name (String) : 表名称
isId (boolean) : 是否为主键
autoGen (boolean) : 是否自增(默认: false)
proprety (String) : 是否为空(默认: NOT NULL)
2. DaoConfig 获取数据库的配置信息
1 //本地数据的初始化
2 DbManager.DaoConfig daoConfig = new DbManager.DaoConfig()
3 .setDbName(“my_db.db”) //设置数据库名
4 .setDbVersion(1) //设置数据库版本,每次启动应用时将会检查该版本号,
5 // 发现数据库版本低于这里设置的值将进行数据库升级并触发DbUpgradeListener
6 .setAllowTransaction(true) //设置是否开启事务,默认为false关闭事务
7 .setTableCreateListener(new DbManager.TableCreateListener() {
8 @Override
9 public void onTableCreated(DbManager dbManager, TableEntity
3. 获取数据库实例
DbManager db = x.getDb(daoConfig);
4. 表 操作
通过DbManager这类我们可以做如下操作:
.getDaoConfig // 获取数据库的配置信息
.getDatabase // 获取数据库实例
.replace // 只有存在唯一索引时才有用 (慎重)
.dropTable // 删除表
.addColumn // 添加一列
.dropDb // 删除数据库
增加的操作:
// bean bean = new bean("张三"); ArrayList<Object> list = new ArrayList<>();//可以集合的形式添加 list.add(new bean("李四")); list.add(new bean("王五")); try { db.save(list); db.saveOrUpdate(list); // 保存或更新实体类或者实体类的List到数据库,根据id对应的数据是否存在 7 db.saveBindingId(list); // 保存实体类或实体类的List到数据库,如果该类型的id是自动生成的,则保存完后会给id赋值 } catch (DbException e) { e.printStackTrace(); }**修改的操作**
//第一中方式
bean bean = db.findById(bean.class, 2);//修改的id
bean.setSname(“大脚”);
db.update(bean,”name”);
//第二种方式
try {
List findAll = db.findAll(Person.class);
for (Person person : findAll) {
person.setAge(10);
}
db.update(findAll, “age”); //可以使对象、集合 8 } catch (DbException e) {
}
**查询的操作**
List<bean> list = db.findAll(bean.class);//查询所有 db.findById(person.class, 1);//通过主键的值来进行查找表里面的数据 3 db.findFirst(person.class);//返回当前表里面的第一条数据 4 List<person> findAll = db.findAll(person.class);//返回当前表里面的所有数据 5 db.findDbModelAll(new SqlInfo("select * from person where age > 25"));
6 DbModel model = db.findDbModelFirst(new SqlInfo(“select * from person where age > 25”));
7 model.getString(“age”);//model相当于游标 8 List findAll2 = db.selector(person.class).expr(“age >10”).findAll();//主要是用来进行一些特定条件的查找
“`
- Xutils3的数据库模块
- Xutils3 数据库模块的使用方法
- XUtils3框架的数据库模块的讲解
- xutils3数据库模块的简单应用
- xUtils3数据库的使用
- xUtils3数据库模块分析之数据篇
- xUtils3.0使用介绍:数据库模块
- xUtils3.0使用介绍:数据库模块
- Android xUtils3源码解析之数据库模块
- Android xUtils3源码解析之数据库模块
- Xutils3关于数据库的操作
- 记一次使用xutils3的数据库模块的教训org.xutils.ex.DbException: <init> []
- Android:xUtils3浅析(二)——数据库模块
- xUtils3中对Sqlite数据库的操作
- 【Android】【xUtils3数据库的简单操作】
- xUtils3中对Sqlite数据库的操作
- xUtils3中对Sqlite数据库的操作
- XUtils3.0数据库的一些操作
- 求一个数n次方后的末尾数(数论/快速幂)
- 将博客搬至CSDN
- 现在mysql的分布式数据访问层主流方案有哪些?
- JAVA多线程编程
- image captioning-Show and Tell: A Neural Image Caption Generator
- Xutils3的数据库模块
- Oracle一张表中实现多个字段的统计(多个count)
- 记录一个小问题数据库的
- PAT乙级1045. 快速排序(25)
- new与delete的使用
- Odoo(OpenERP)学习资源
- 随机森林原理及参数调优
- Java 基础面试题设计(可以绝杀90%的开发人员)---powerdby wy
- Ubuntu安装及挂载AWS文件共享流程