# android_bpq_dao **Repository Path**: axxam/android_bpq_dao ## Basic Information - **Project Name**: android_bpq_dao - **Description**: 一款非常简便的sqlite数据库操作库。 ORM对象关系映射很方便,不用像greendao那种还要脚本生成dao代码,直接使用bean注解可完成库表建立,增删改查的参数和结果也是bean实体类相关的数据类型,几乎完全脱离sql原生的语句和数据类型。 很nice - **Primary Language**: Android - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-07-18 - **Last Updated**: 2025-07-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: Android, Sqlite ## README # android_bpq_dao #### 介绍 一款非常简便的sqlite数据库操作库。 ORM对象关系映射很方便,不用像greendao那种还要脚本生成dao代码,直接使用bean注解可完成库表建立,增删改查的参数和结果也是bean实体类相关的数据类型,几乎完全脱离sql原生的语句和数据类型。 很nice #### 软件架构 软件架构说明 #### 安装教程 1. xxxx 2. xxxx 3. xxxx #### 使用说明 demo 1. ``` package com.bpq.sql.bean; import com.bpq.sql.COLUMN; import com.bpq.sql.COLUMN_TYPE; import com.bpq.sql.FINAL; import com.bpq.sql.TABLE; @TABLE(name = "goods") public class Goods { @COLUMN(name = "name", type = COLUMN_TYPE.TEXT) public String name; @COLUMN(name = FINAL.COLUMN_ID, type = COLUMN_TYPE.INTEGER,primaryKey = true) public int id; @Override public String toString() { return "Goods{" + "name='" + name + '\'' + ", id=" + id + '}'; } } //------------------------------------------ package com.bpq.sql.bean; import com.bpq.sql.COLUMN; import com.bpq.sql.COLUMN_TYPE; import com.bpq.sql.FINAL; import com.bpq.sql.ForeignBean; import com.bpq.sql.TABLE; import java.util.Arrays; import java.util.List; /** * order_和 order by冲突,所以加下划线 */ @TABLE(name = "order_") public class Order { @COLUMN(name = FINAL.COLUMN_ID, type = COLUMN_TYPE.INTEGER,primaryKey = true) public int id; @COLUMN(name = "order_num", type = COLUMN_TYPE.TEXT) public String orderNum; // @COLUMN(name = "goods_id", type = COLUMN_TYPE.INTEGER) // public int goodsId; @ForeignBean(bean = Goods.class, map = OrderidGoodsid.class, foreign_key = "goods_id",primary_key = "order_id") public List goods; @Override public String toString() { return "Order{" + "id=" + id + ", orderNum='" + orderNum + '\'' + ", goods=" + (goods==null ? null : Arrays.toString(goods.toArray())) + '}'; } } //-------------------------------------------------------------- package com.bpq.sql.bean; import com.bpq.sql.COLUMN; import com.bpq.sql.COLUMN_TYPE; import com.bpq.sql.Mapper; import com.bpq.sql.TABLE; @TABLE(name = "order_goods") public class OrderidGoodsid { @Mapper(tabClz = Order.class) @COLUMN(name = "order_id", type = COLUMN_TYPE.INTEGER) public int order_id; @Mapper(tabClz = Goods.class) @COLUMN(name = "goods_id", type = COLUMN_TYPE.INTEGER) public int goods_id; @Override public String toString() { return "OrderidGoodsid{" + "order_id=" + order_id + ", goods_id=" + goods_id + '}'; } } //*********操作demo---------------------------- DaoHelper daoHelper=new DaoHelper(this, "mywalk9.db", null, 1, null) { @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } @Override protected Class[] classes() { return new Class[]{Order.class, Goods.class, OrderidGoodsid.class}; } }; try { Order order=new Order(); order.orderNum="orderNum123456"; order.id=1234; daoHelper.insert(order); order.id=123; daoHelper.insert(order); } catch (IllegalAccessException e) { e.printStackTrace(); } try { OrderidGoodsid orderidGoodsid=new OrderidGoodsid(); orderidGoodsid.goods_id=1; orderidGoodsid.order_id=1234; daoHelper.insert(orderidGoodsid); orderidGoodsid.goods_id=2; orderidGoodsid.order_id=1234; daoHelper.insert(orderidGoodsid); orderidGoodsid.goods_id=1; orderidGoodsid.order_id=123; daoHelper.insert(orderidGoodsid); } catch (IllegalAccessException e) { e.printStackTrace(); } try { Goods goods=new Goods(); goods.name="拼画"; goods.id=1; daoHelper.insert(goods); goods.name="拼画2"; goods.id=2; daoHelper.insert(goods); } catch (IllegalAccessException e) { e.printStackTrace(); } try { List orders=daoHelper.queryJoin(Order.class); Log.d("DaoHelper order", Arrays.toString(orders.toArray())); } catch (NoSuchMethodException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InstantiationException e) { e.printStackTrace(); } ``` 2. xxxx 3. xxxx #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)