beetlsql使用
在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使用相关推荐
- 学习BeetlSQL总结(2)——查询API,更新API
学习BeetlSQL总结(2) 经过上节的学习,我们已经了解了BeetlSQL的基础,接下来我们深入的学习BeetlSQL 一.BeetlSQL说明 1.获得SQLManager是系统的核心,它提供了 ...
- Spring Boot + BeetlSQL + H2数据库项目整合
Spring Boot + BeetlSQL + H2数据库项目整合 这个项目是一个大佬给的,目的是看我的自学能力和基础知识的牢固程度,要求如下: 底层架构采用springboot 前端技术使用lay ...
- ActFrameWork集成Beetlsql的Mapper功能
2019独角兽企业重金招聘Python工程师标准>>> Actframework是一款让人耳目一新的java mvc框架,简洁的api,强大的路由深深的吸引着我. 迁移项目到act的 ...
- beetlsql报错“请指定Sql类型“的解决方案
解决 beetlsql使用dao自定义SQL语句时,有些情况下会报错"请指定Sql类型",这时需要在dao方法上加上@SqlStatement注解. 例如: @SqlResourc ...
- (六)关于beetlsql版本(分支)的说明
2019独角兽企业重金招聘Python工程师标准>>> beetlsql也是一个功能强大的dao工具,很久之前看到了,就想替换一下mybatis,试试想要的功能. 基本上,mybat ...
- SpringBoot+Beetlsql代码生成
SpringBoot+Beetlsql代码生成 一,加入beetlsql依赖 <!-- beetl-framework-starter --><dependency><g ...
- BeetlSQL框架学习(一)——初识BeetlSQL,特点,内置sql的使用,Pojo代码生成等...
学习BeetlSQL总结(1) 一.BeetlSQL特点: 1.开发效率: (1)无需注解,能自动使用大量的内置sql,快速完成增,删,改,查的功能 (2)数据模型支持Pojo,也支持Map/List ...
- BeetlSql简介及举例
本文参考BeetlSql官方网站,官网网站请点击这里~ BeetSql是一个全功能DAO工具,同时具有Hibernate 优点 & Mybatis优点功能,适用于承认以SQL为中心,同时又需求 ...
- BeetlSQL简单使用
官网地址: BeetlSQL3 官方使用手册 · 看云 项目演示使用maven工程,新建一个Maven工程,直接引用如下库 <dependency><groupId>com.i ...
- SpringBoot-整合Beetlsql
beetlsql 优点 开发效率 无需注解,自动使用大量内置SQL,轻易完成增删改查功能,节省50%的开发工作量 数据模型支持Pojo,也支持Map/List这种快速模型,也支持混合模型 SQL 模板 ...
最新文章
- 设计模式所遵循的原则及模式之间的关系
- Python 简介day01
- mybatis 复习笔记02
- Chrome调试大全--转载
- DL之VGG16:基于VGG16迁移技术实现猫狗分类识别(图片数据量调整→保存h5模型)
- SpringBoot基础重难点
- 最优化学习笔记(十二)——基本共轭方向算法(续)
- (转)Hadoop入门进阶课程
- 【520有奖征文】 老同学聚会,20年IT行业从业感悟
- shell中exec命令
- 团“模子”政策模式乱舞
- cloudera-scm-service报错server已死,但pid文件仍存问题解决
- 第55章、播放视频(从零开始学Android)
- PS CS6教程(photoshop视频教程) 免费下载
- 电脑关闭所有应用的快捷键
- 2018n年全国计算机考试,2018ncre全国计算机等级考试报名系统
- u盘连接计算机无法识别usb设备,u盘插电脑显示:跟这台计算机连接的前一个USB设备工作不正常,windows无法识别它。...
- Arduino连接LCD1602显示屏
- OSChina 周二乱弹 ——寡人不是程序员,不去写bug。
- 华为liteos内存管理源码以及架构分析