spring Boot+beetl +beetlSql 内置sqlManager的简单使用

beetBeetl是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,它功能强大,性能良好,超过当前流行的模板引擎。而且还易学易用。
BeetSql是一个全功能DAO工具, 同时具有Hibernate 优点 & Mybatis优点功能,适用于承认以SQL为中心,同时又需求工具能自动能生成大量常用的SQL的应用。使用大量内置SQL,轻易完成增删改查功能,节省50%的开发工作量。 数据模型支持Pojo,也支持Map/List这种快速模型,也支持混合模型。内置sql真的很棒!!!普通增删查改都不用书写直接使用内置sql,而且书写的sql也没有myBatis复杂的配置

作者:闲大赋
简单介绍结束,有想更加深入了解的,请去beetl官网自习了解,下面就切入正题

beetl
在这里插入图片描述
咱们先看一下Dao层的分页与条件查询, @SqlResource注解表明去哪里寻找sql文件
这里的PageQuery 是拿取到与数据库交互的数据,

import org.beetl.sql.core.annotatoin.SqlResource;
import org.beetl.sql.core.engine.PageQuery;
import org.beetl.sql.core.mapper.BaseMapper;


@SqlResource("emermanager.emermanager")
public interface StandDao extends BaseMapper<实体类> {
    void standList(PageQuery query);
}

service以及impl实现类书写

import com.xike.emmaback.emermanager.entity.Datum;
import org.beetl.sql.core.engine.PageQuery;

public interface EmermanagerService {
    PageQuery standList(PageQuery query,Datum da);
}
/*impl实现类*/
@Override
    public PageQuery standList(PageQuery query, Datum da) {
        query.setParas(da);
        standDao.standList(query);
        return query;
    }

controller调用,直接调用内置方法,自动分页。

  @RequestMapping(value="/",method = RequestMethod.POST)
    @ResponseBody
    public ResponseEntity<Result<PageResult<实体类>>> funcList(@ModelAttribute 实体类, @ModelAttribute PageEntity pageEntity) {
        PageQuery query = new PageQuery();
        query.setPageNumber(pageEntity.getPage());
        query.setPageSize(pageEntity.getRows());
        PageQuery pageQuery = emermanagerService.standList(query, 实体类);
        return success("获取成功", PageUtil.page(pageQuery));
    }

sql文件书写,这里的方法名字一定要与Dao层内的方法名字一致,因为你Dao层内只是告诉它去哪里找这个sql文件, 方法名字下面一定要有一个=号,表明其是方法名字。表内字段一定包含在@pageTag内,@if(){@} 是beetlSql判断方式,这里用来条件查询,#字段#为书写方式*

standList
===
   SELECT 
   @pageTag(){
   DATUM_ID,DATUM_PID,DATUM_PATH,DATUM_PDFPATH,DATUM_PDFNAME,DATUM_TYPE 
   @}
 FROM SYS_DATUM  t
      left join  SYS_DICT s on t.datum_TYPE=s.dict_id 
   WHERE 1=1
   @if(!isEmpty(datumPdfname)&&datumPdfname!=""){
    AND t.DATUM_PDFNAME LIKE #'%'+datumPdfname+'%'# 
   @}
   @if(!isEmpty(datumPid)&&datumPid!=""){
     AND t.DATUM_TYPE = #datumPid# 
   @}
 

sqlManager内置了大量的sql语句,可以帮助我们完成较为简单的增删查改

/*使用的页面注入sqlManager,如果使用sqlManager,咱们Dao层 、service、impl都不用书写*/
 @Autowired
    private SQLManager sqlManager;
    
 //新增数据到数据库内,返回类型为int,以此判断是否插入成功
 int a = sqlManager.insertTemplate(实体类);
//获取实体类SysRoleMiddle的数据,ROLE_ID为数据库内的主键
 List<SysRoleMiddle> rms = sqlManager.query(SysRoleMiddle.class).andEq("ROLE_ID",id).select();
 //通过主键ID修改对象,返回类型为int,以此判断是否修改成功
  int a = sqlManager.updateTemplateById(实体类);
  //通过ID查询单个实体对象
   SysDict dc = sqlManager.single(SysDict.class, id);
   //通过主键删除对象,返回类型为int,以此判断是否删除成功
   int a = sqlManager.deleteObject(da);
   int a = sqlManager.deleteById(Datum.class,da);

使用beetl+beetlSql有一段时间,这些只是sqlManager的日常使用,还有写进阶写法没有具体使用过,本人持续更新,谢谢观看

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

boJIke

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值