六边形工程师
主页
文章
开源
关于我
1024创新实验室
微信号:卓大 (六边形工程师)
毕业于:山东大学 计算机
地点:洛阳/郑州/上海
职位:六边形数字科技-CEO
近期:专注AI+中医/供应链/教育
技能:CTO / 产品经理 / 全栈工程师
领域:教育,供应链,中医大健康;
公众号:六边形工程师
名称:六边形工程师
分享:赚钱、代码、生活
分享:AI发展、AI变现
分享:互联网 运营/产品/技术
关注 :中医健康问题
三、SmartDb超级简单的ORM
|
分类于
SmartDb
SmartDb
前言:
SmartDb的ORM非常简单,1分钟你就能上手(预计阅读1分钟)
#### 1、认识注解 SmartDb中的ORM注解非常少,所以很好上手 SmartDb一共5个注解,如下: `@TableAlias` 表名自定义 `@PrimaryKey` 主键 `@UseGeneratedKey`数据库自增主键 `@ColumnAlias`列名自定义 `@ColumnIgnore` 忽略某一列 #### 2、ORM支持枚举 1、SmartDb支持 enum, 对数据库列必须为 字符 char 类型 2、如果想使用枚举,但是数据库为 int整型,可以使用让 enum实现`SmartDbEnum`接口 #### 3、ORM 实体 ```java @TableAlias("t_enum") public class EnumEntity { @PrimaryKey @UseGeneratedKey private Integer id; // 自增主键id private String userName; // 用户名 @ColumnAlias("city") private String area; // 列名 自定义 private Sex sex; // 枚举: girl 和 boy; 数据库必须为 char、varchar等字符类型 private Level level;// 枚举: Level.class 实现了 SmartEnum 接口; 数据库则为 int 等整数类型 ``` #### 4、ORM 插入 插入有 `SmartDb.insert` 和 `SmartDb.insertSelective` 两个方法 其中 `insert` ORM插入对象(包含属性为null的数据) 其中 `insertSelective` ORM插入对象,排除属性为null的数据 ```java EnumEntity enumEntity = new EnumEntity(); enumEntity.setLevel(Level.HIGH); enumEntity.setUserName("hi"); enumEntity.setSex(Sex.BOY); smartDb.insertSelective(enumEntity); smartDb.insert(enumEntity); ``` #### 5、ORM 批量插入 插入有 `SmartDb.batchInsert` 和 `SmartDb.batchInsertSelective` 两个方法,于 insert 同理 #### 6、ORM 更新 更新有 `SmartDb.update` 和 `SmartDb.updateSelective` 两个方法 其中 `update` ORM更新一个对象(包含属性为null的列) 其中 `updateSelective` ORM更新一个对象, 去除属性为null的列 #### 7、ORM 删除 删除 `SmartDb.delete`方法,会根据 `@PrimaryKey`注解对应的列去删除!!! #### 下一篇: [四、SmartDb超级好用的Sql Builder模式 ](https://zhuoluodada.cn/article/page/get/56) 文档列表: [一、初识和创建SmartDb ](https://zhuoluodada.cn/article/page/get/53) [二、SmartDb 增、删、查、改、批量、事务 ](https://zhuoluodada.cn/article/page/get/54) [三、SmartDb超级简单的ORM ](https://zhuoluodada.cn/article/page/get/55) [四、SmartDb超级好用的Sql Builder模式 ](https://zhuoluodada.cn/article/page/get/56) [五、SmartDb 读写分离、多数据源等看似高端的技术使用和原理分析 ](https://zhuoluodada.cn/article/page/get/57) [六:多数据源例子](https://gitee.com/lab1024/smartdb-demos) ------------ #### 联系我们 : [1024创新实验室](https://www.1024lab.net/) #### SmartDb微信交流群(**加我微信拉你入群,和小伙伴们一起探讨!**)  #### 捐赠 开源不易,感谢捐赠 >*佛祖保佑捐赠这些人写程序永无bug,工资翻倍,迎娶白富美,走上人生巅峰!*  --- 作者简介: [卓大](https://zhuoluodada.cn), 1024创新实验室主任,混迹于各个技术圈,研究过计算机,熟悉点java,略懂点前端。
阅读 (4375)
喜欢 (
0
)
评论 (0)
走起吐槽