序言
上一篇关于JOOQ的随笔介绍了Springboot项目的创建以及JOOQ 代码生成器的使用。
那么在上次的项目基础上来看看实际的JOOQ怎么使用。
准备工作
先将项目的目录结构创建好
接下来CRUD的语法这篇文章会分别去写一个示例,看完之后基础的增删查改不在话下。
查询(select)
1 /**
2 * 查询3 *@return
4 */
5 public ResultgetAll(){6 Result result = this.create7 .selectFrom(BkUser.BK_USER)8 .orderBy(1)9 .fetch();10 returnresult;11 }
更新(update)
1 /**
2 * 更新3 */
4 public voidupdateUser(){5 //设置别名
6 BkUser a = BkUser.BK_USER.as("a");7 BkUserRecord user = newBkUserRecord();8 this.create9 .update(a)10 .set(a.ADDRESS,user.getAddress())11 .set(a.NAME,user.getName())12 .where(a.ID.equal(user.getId()))13 .execute();14 }
删除(delete)
1 /**
2 * 删除3 *@paramuserId4 */
5 public voiddeleteUserById(Integer userId){6 this.create7 .deleteFrom(BkUser.BK_USER)8 .where(BkUser.BK_USER.ID.eq(userId))9 .execute();10 }
新增(insert)
/*** 新增*/
public voidaddUser(){byte enabled = 1;this.create
.insertInto(BkUser.BK_USER)
.columns(BkUser.BK_USER.ADDRESS,
BkUser.BK_USER.ENABLED,
BkUser.BK_USER.NAME,
BkUser.BK_USER.PHONE,
BkUser.BK_USER.PASSWORD)
.values("后海",enabled,"小毛","10086","123456")
.execute();
}
完整代码
1 packagecom.bkn.breakingnews.modules.user.dao;2
3 importcom.bkn.breakingnews.model.tables.BkUser;4 importcom.bkn.breakingnews.model.ta