在2018年参与的项目里面用了beetlsql这个持久层框架,感觉这个框架挺不错的,国人写的框架
在mybatis、hibernate、beetlsql三个中,作者比较过,是beetlsql的速度最快

比其他两个得分更高,在前面开发的项目中感觉都可以,因为项目还不是很大。
beetlsql的单个表的查询支持lambda表达式查询,个人感觉非常的爽,非常的好用。

使用

依赖

单单beetlsql的依赖

     <dependency><groupId>com.ibeetl</groupId><artifactId>beetlsql</artifactId><version>2.10.43</version></dependency>

配置

首先用jdbc、hikariCP配置好数据库连接
https://blog.csdn.net/qq_36712111/article/details/87630545 这里可以参考下

这里我用的是java的配置

package com.wys.read.config;import org.beetl.sql.core.ClasspathLoader;
import org.beetl.sql.core.Interceptor;
import org.beetl.sql.core.UnderlinedNameConversion;
import org.beetl.sql.core.db.MySqlStyle;
import org.beetl.sql.ext.DebugInterceptor;
import org.beetl.sql.ext.spring4.BeetlSqlDataSource;
import org.beetl.sql.ext.spring4.BeetlSqlScannerConfigurer;
import org.beetl.sql.ext.spring4.SqlManagerFactoryBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;import javax.sql.DataSource;/*** @author wys* created in 16:46 2019/1/4*/
@Configuration
public class BeetlsqlConfig {// 配置的是beetlsql的框架配置@Beanpublic BeetlSqlScannerConfigurer sqlScannerConfigurer(){BeetlSqlScannerConfigurer beetlSqlScannerConfigurer = new BeetlSqlScannerConfigurer();beetlSqlScannerConfigurer.setBasePackage("com.demo.dao");   // beetlsql扫描的dao层包beetlSqlScannerConfigurer.setSqlManagerFactoryBeanName("sqlManagerFactoryBean");return beetlSqlScannerConfigurer;}// 配置的是beetlsql需要使用的据库源和md文件路径 @Beanpublic SqlManagerFactoryBean sqlManagerFactoryBean(DataSource dataSource) {SqlManagerFactoryBean sqlManagerFactoryBean = new SqlManagerFactoryBean();BeetlSqlDataSource beetlSqlDataSource = new BeetlSqlDataSource();beetlSqlDataSource.setMasterSource(dataSource);     // 加载数据源到beetlsql的数据源sqlManagerFactoryBean.setCs(beetlSqlDataSource);   sqlManagerFactoryBean.setDbStyle(new MySqlStyle());sqlManagerFactoryBean.setSqlLoader(new ClasspathLoader("/sql/"));  // 后面你要写的beetlsql自定义sql语句方法的md文件的路径sqlManagerFactoryBean.setNc(new UnderlinedNameConversion()); // 下划线匹配加载sqlManagerFactoryBean.setInterceptors(new Interceptor[]{ new DebugInterceptor() });       // beetlsql debug日志输出return sqlManagerFactoryBean;}}

编写代码

实体

创建一个用户实体为例子

package com.wys.read.entity;import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.beetl.sql.core.annotatoin.AutoID;import java.io.Serializable;/*** 用户* @author wys* created in 16:29 2019/1/4*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class User implements Serializable {private static final long serialVersionUID = 4223404153633504854L;/*** 自增aid*/@AutoIDprivate Integer aid;/*** 账号*/private String accountNumber;/*** 密码*/private String password;}
用户实体的dao
package com.wys.read.dao;import com.wys.read.entity.User;
import org.beetl.sql.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;/*** @author wys* created in 16:35 2019/1/4*/
@Repository
public interface UserDao extends BaseMapper<User> {}
service使用

在service中使用dao
service使用dao的lambda表达式查询

package com.wys.read.service;import cn.hutool.core.util.StrUtil;
import com.wys.read.dao.UserDao;
import com.wys.read.entity.User;
import com.wys.read.exception.FrameErrorCodeEnums;
import com.wys.read.exception.FrameRuntimeException;
import org.beetl.sql.core.query.LambdaQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;/*** @author wys* created in 23:24 2019/1/4*/
@Service
public class UserService {@Autowiredprivate UserDao userDao;// 通过名字获取账号public List<User> getUser(String name) {if (StrUtil.isBlank(name)) {throw new FrameRuntimeException(FrameErrorCodeEnums.BIND_ARGS_ERROR);}// 获取user的lambda表达式查询LambdaQuery<User> userLambdaQuery = userDao.createLambdaQuery();// 使用lambda表达式查询List<User> userList = userLambdaQuery.andEq(User::getAccountNumber, name).select();return userList;}}

md文件编写自定义的sql语句也是挺方便的
https://blog.csdn.net/qq_36712111/article/details/87633903

目前是这样

beetlsql使用相关推荐

  1. 学习BeetlSQL总结(2)——查询API,更新API

    学习BeetlSQL总结(2) 经过上节的学习,我们已经了解了BeetlSQL的基础,接下来我们深入的学习BeetlSQL 一.BeetlSQL说明 1.获得SQLManager是系统的核心,它提供了 ...

  2. Spring Boot + BeetlSQL + H2数据库项目整合

    Spring Boot + BeetlSQL + H2数据库项目整合 这个项目是一个大佬给的,目的是看我的自学能力和基础知识的牢固程度,要求如下: 底层架构采用springboot 前端技术使用lay ...

  3. ActFrameWork集成Beetlsql的Mapper功能

    2019独角兽企业重金招聘Python工程师标准>>> Actframework是一款让人耳目一新的java mvc框架,简洁的api,强大的路由深深的吸引着我. 迁移项目到act的 ...

  4. beetlsql报错“请指定Sql类型“的解决方案

    解决 beetlsql使用dao自定义SQL语句时,有些情况下会报错"请指定Sql类型",这时需要在dao方法上加上@SqlStatement注解. 例如: @SqlResourc ...

  5. (六)关于beetlsql版本(分支)的说明

    2019独角兽企业重金招聘Python工程师标准>>> beetlsql也是一个功能强大的dao工具,很久之前看到了,就想替换一下mybatis,试试想要的功能. 基本上,mybat ...

  6. SpringBoot+Beetlsql代码生成

    SpringBoot+Beetlsql代码生成 一,加入beetlsql依赖 <!-- beetl-framework-starter --><dependency><g ...

  7. BeetlSQL框架学习(一)——初识BeetlSQL,特点,内置sql的使用,Pojo代码生成等...

    学习BeetlSQL总结(1) 一.BeetlSQL特点: 1.开发效率: (1)无需注解,能自动使用大量的内置sql,快速完成增,删,改,查的功能 (2)数据模型支持Pojo,也支持Map/List ...

  8. BeetlSql简介及举例

    本文参考BeetlSql官方网站,官网网站请点击这里~ BeetSql是一个全功能DAO工具,同时具有Hibernate 优点 & Mybatis优点功能,适用于承认以SQL为中心,同时又需求 ...

  9. BeetlSQL简单使用

    官网地址: BeetlSQL3 官方使用手册 · 看云 项目演示使用maven工程,新建一个Maven工程,直接引用如下库 <dependency><groupId>com.i ...

  10. SpringBoot-整合Beetlsql

    beetlsql 优点 开发效率 无需注解,自动使用大量内置SQL,轻易完成增删改查功能,节省50%的开发工作量 数据模型支持Pojo,也支持Map/List这种快速模型,也支持混合模型 SQL 模板 ...

最新文章

  1. 设计模式所遵循的原则及模式之间的关系
  2. Python 简介day01
  3. mybatis 复习笔记02
  4. Chrome调试大全--转载
  5. DL之VGG16:基于VGG16迁移技术实现猫狗分类识别(图片数据量调整→保存h5模型)
  6. SpringBoot基础重难点
  7. 最优化学习笔记(十二)——基本共轭方向算法(续)
  8. (转)Hadoop入门进阶课程
  9. 【520有奖征文】 老同学聚会,20年IT行业从业感悟
  10. shell中exec命令
  11. 团“模子”政策模式乱舞
  12. cloudera-scm-service报错server已死,但pid文件仍存问题解决
  13. 第55章、播放视频(从零开始学Android)
  14. PS CS6教程(photoshop视频教程) 免费下载
  15. 电脑关闭所有应用的快捷键
  16. 2018n年全国计算机考试,2018ncre全国计算机等级考试报名系统
  17. u盘连接计算机无法识别usb设备,u盘插电脑显示:跟这台计算机连接的前一个USB设备工作不正常,windows无法识别它。...
  18. Arduino连接LCD1602显示屏
  19. OSChina 周二乱弹 ——寡人不是程序员,不去写bug。
  20. 华为liteos内存管理源码以及架构分析

热门文章

  1. WSUS服务器点击报告报错解决办法
  2. 209最新100个面试问题大全及答案
  3. 计算机查找的快捷键是,电脑快捷键快速查找
  4. C++--最大公约数和最小公倍数
  5. 阿里云弹性手机购买与配置
  6. #Android Studio# 模拟器开发者模式
  7. 基于无人售货机商品售卖情况推荐商品
  8. 万人拆盲盒,比特小鹿“2周年庆”云托管新团掀高潮
  9. MATLAB 电子书
  10. 棋盘中正方形,长方形个数