Jodd DbOomQuery笔记

通常情况下,对象和数据库表的映射有2种方式:
1.通过命名约定
2.通过注解

Sql Generator很强大,但是不好用,要方便还是用Template SQL(底层也是在用Sql Generator)
Template SQL也很强大,但用起来仍然麻烦,用DbEntitySql基本可以达到业务逻辑级别的操作:
new DbOomQuery(session, DbEntitySql.insert(new Girl(...)).executeUpdateAndClose();
Girl girl = ...
DbEntitySql.find(girl);
DbEntitySql.findById(girl);    DbEntitySql.deleteById(girl);

DbEntitySql.find(s) 根据s中的所有非空字段生成查询条件,这就要求我们在设计实体类的时候,int等基本数据类型由Integer等包装类实现。
下一步考虑如何做模糊查询,如范围内查询?like查询?
是否只能用Templae SQL来做?有其他工具类吗?

DbOomQuery在findOne的要求类名和数据库表名一致,否则无法检测出数据。
而普通的execute是不需要这样做的。

在未作深入研究前 最好类名 属性名和表名 列名完全一致!


在一对一的关系中,实体A中包含实体B的完整对象。使用Join Hints

DbOomQuery q = new DbOomQuery(session,
    "select girl.*, boy.* from GIRL girl join BOY boy on girl.ID=boy.GIRL_ID");
List<Boy> boys = q.withHints("boy.girl, boy").list(Girl.class, Boy.class);

返回Boy对象,每一个Boy对象中包含一个Girl实例。

public class  Boy{
     //....
    private Gril gril;
}

Sql Generator:

DbSqlBuilder dsb = sql()._("select").column("k.*")._(" from")
                .table("Knowledge","k")._(" where").column("k.content")._(" like '%")._("MySQL")._("%'");

select k.K_ID, k.K_CONT, k.K_CRE_TIME, k.K_MODIFY_TIME, k.K_SUBJ, k.RE_U_ID from Knowledge k where k.K_CONT like '%MySQL%'


DbSqlBuilder dsb = sql(
                "SELECT * FROM $T{Knowledge k} where $k.content like")._()
                ._("'%")._("MySQL")._("%'");

SELECT * FROM Knowledge k where k.K_CONT like '%MySQL%'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
jodd-email是一个用于发送邮件的工具,它是基于Jodd框架开发的。使用jodd-email可以方便地发送邮件,并支持多种邮件发送方式,包括WebService方式和Restful方式。\[1\]在使用jodd-email发送邮件时,可以通过Email.create()方法创建一个Email对象,然后使用链式调用的方式设置邮件的发送者、接收者、抄送者、主题和内容等信息。例如,可以使用from()方法设置发送者,to()方法设置接收者,cc()方法设置抄送者,subject()方法设置主题,addHtml()方法设置HTML内容等。\[2\]此外,jodd还提供了其他功能,包括工具、IOC、MVC、数据库操作、AOP、事务管理、JSON处理和HTML处理等。如果需要了解更多关于jodd的介绍和使用,可以访问它的官网:https://jodd.org/。\[3\] #### 引用[.reference_title] - *1* *2* [使用jodd-email实现邮件发送](https://blog.csdn.net/liuchuanhong1/article/details/72626475)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Jodd - Java界的瑞士军刀,无法想象的轻量级工具包](https://blog.csdn.net/weixin_39872624/article/details/111506247)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值