一 SpringBoot整合BeetlSql3.0

1.1 加入依赖

<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!--beetlSQL 3.x版本--><!-- https://mvnrepository.com/artifact/com.ibeetl/sql-springboot-starter --><dependency><groupId>com.ibeetl</groupId><artifactId>sql-springboot-starter</artifactId><version>3.10.1-RELEASE</version></dependency><!-- https://mvnrepository.com/artifact/com.zaxxer/HikariCP 数据源配置类,数据库连接池--><dependency><groupId>com.zaxxer</groupId><artifactId>HikariCP</artifactId><version>4.0.3</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency></dependencies>

1.2 配置文件

spring.datasource.url=jdbc:mysql://localhost:3306/study
spring.datasource.username=root
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver#beetlsql = sqlManager1 #旧版本
#新版本,配置一个sqlManager,#给sqlManager配置一个数据源
beetlsql.sqlManagers=sqlManager1
beetlsql.sqlManager1.ds=datasource
beetlsql.sqlManager1.basePackage=org.beetl.sql.springboot.simple
beetlsql.sqlManager1.dbStyle=org.beetl.sql.core.db.MySqlStyle

1.3 配置数据源

注:beetlsql.sqlManager1.ds=datasource里的datasource是你配置的bean名,bean名最好不要改,配置文件会出现找不到数据源的情况。

@Configuration
public class SimpleDataSourceConfig {@Bean(name = "datasource")public DataSource datasource(Environment env) {HikariDataSource ds = new HikariDataSource();ds.setJdbcUrl(env.getProperty("spring.datasource.url"));ds.setUsername(env.getProperty("spring.datasource.username"));ds.setPassword(env.getProperty("spring.datasource.password"));ds.setDriverClassName(env.getProperty("spring.datasource.driver-class-name"));return ds;}}

1.4 测试

1.4.1 准备

数据库中新建一张user表,并在项目中创建对应的实体类

@Data
@Table(name = "user")
public class UserEntity {private Integer id;private Integer age;private String name;private Integer departmentId;
}

1.4.2 测试

创建测试类:

@SpringBootTest
public class SQLManagerTest {@ResourceSQLManager sqlManager;@Testpublic void test01(){LambdaQuery<UserEntity> query = sqlManager.lambdaQuery(UserEntity.class);List<UserEntity> entities = query.andEq(UserEntity::getDepartmentId,1).andIsNotNull(UserEntity::getName).select();System.out.println(entities.toString());}}

运行成功截图:

二 BeetlSql3.0快速入门

2.1 BeetlSql3.0官方文档

https://www.kancloud.cn/xiandafu/beetlsql3_guide/3033075

2.2 三种使用方法

2.2.1 直接注入SQLManager

@Resource
SQLManager sqlManager;

2.2.2 Mapper继承BaseMapper<UserEntity>,然后利用SQLManager生成mapper接口的代理对象

dao层:

public interface UserMapper extends BaseMapper<UserEntity> {}

使用:

    @Testpublic void test01(){//得到一个UserMapper接口的代理UserMapper mapper = sqlManager.getMapper(UserMapper.class);//代替了dao层的注入?UserEntity me = mapper.unique(1);//同SQLManager.unique(UserEntity.class,1)me.setName("mapper测试");mapper.updateById(me);//同同SQLManager.updateById(me);}

2.2.3 使用使用模板文件

2.2.3.1 在resources目录下新建一个sql目录,并在sql目录下新建一个user.md文件(相当于mybatis的xml文件,通过SqlId找到对应的SQL)

[//]: # (片段名/SqlId)
select
===```sql
select * from user u where 1=1
-- @ if(isNotEmpty(name)){
and name like #{'%'+name+'%'}
-- @ }
order by u.id desc
```

2.2.3.2

sqlManager.select将会查询user.md文件下的select片段,并执行,执行结果映射成UserEntity对象。

    @ResourceSQLManager sqlManager;@Testpublic void test02(){//user为模板文件名,select为模板文件中片段名/SqlIdSqlId id = SqlId.of("user","select");Map map = new HashMap();map.put("name","n");List<UserEntity> list = sqlManager.select(id,UserEntity.class,map);System.out.println(list.toString());}

截图:

SpringBoot整合BeetlSql3.0及BeetlSql3.0快速入门说明相关推荐

  1. NX12.0工业产品设计快速入门完全自学视频教程,详细讲解,通俗易懂

    工业机械五金零件设计3D画图建模,让设计更精准,更智通,更快速! 教程版本:2021基础快速入门版(软件版本UG-NX12.0) 本教程有35课时,结合讲师多年的工作经验为提前下,以一种最容易让新手快 ...

  2. 深入理解 Redis Template及4种序列化方式__spring boot整合redis实现RedisTemplate三分钟快速入门

    概述 使用Spring 提供的 Spring Data Redis 操作redis 必然要使用Spring提供的模板类 RedisTemplate, 今天我们好好的看看这个模板类 . RedisTem ...

  3. Apache Spark 2.2.0 中文文档 - 快速入门 | ApacheCN

    快速入门 使用 Spark Shell 进行交互式分析 基础 Dataset 上的更多操作 缓存 独立的应用 快速跳转 本教程提供了如何使用 Spark 的快速入门介绍.首先通过运行 Spark 交互 ...

  4. 『0基础』Java快速入门必备秘籍

    Java之所以是大家最受欢迎的编程语言,是因为它在互联网中的使用非常广泛.随着互联网软件开发的进行,企业增加了更多的Java的岗位需求.因此,Java开发人员的工作机会增加了. 在入行Java之前,相 ...

  5. springboot整合redis,用spring-data-redis2.0的同时用jedis

    最新版本的spring-data-redis很烦,很多以前用起来很方便的方法过时了.下面是2.0这个版本的搭建过程: 首先要了解这个版本 (1)spring-data-redis是默认是用lettuc ...

  6. 阿里云Sophix 3.0版本热更新快速入门

    废话不多说 什么优缺点 大家肯定已经比较过,就想找到一种既方便有安全而且快捷的集成方案,一下满满的干活: 1:首先登录阿里云地址: https://www.aliyun.com/product/hot ...

  7. SteamVR2.0基本思路及快速入门

    SteamVR2.0(我这里用v2.5版本)的动作捕捉与MFC中的变量绑定很相像,大致分三步 (1).在SteamVR Input中定义量A 变量类型决定可绑定哪个动作.比如要检测手柄扣板机动作,可以 ...

  8. 0基础该如何快速入门python?全写在这篇学习攻略里了

    目前python是一门相对应比较火爆的编程语言,应用范围也非常的广泛,但目前竞争不大,工资也算乐观,未来发展也极好. 但是对python这个行业根本不了解的情况下,一味的买书看书.看视频,是很难达到预 ...

  9. SpringBoot 整合 Thymeleaf 如何使用后台模板快速搭建项目

    如果你和我一样,是一名 Java 道路上的编程男孩,其实我不太建议你花时间学 Thymeleaf,当然他的思想还是值得借鉴的.但是他的本质在我看来就是 Jsp 技术的翻版(Jsp 现在用的真的很少很少 ...

  10. 【第0天】MYSQL快速入门-了解MySQL存储引擎(SQL 小虚竹)

    回城传送–><100天精通MYSQL从入门到就业> 文章目录 零.前言 一.什么是数据库引擎 二.MYSQL中有哪些数据库引擎 2.1.MyISAM 2.2.Memoey 2.3.I ...

最新文章

  1. $\be$-QGE 的弱强唯一性
  2. mysql 知识整理(待续)
  3. 新手学习python(四)字符串方法
  4. 2021牛气新年素材模板,你真的不来看一看吗?
  5. 计算机网络---计算机网络分层结构
  6. MyBatis的XML配置文件(二)
  7. python创建类mymath_构建DLL(MyMathFuncs)以在Python Ctypes中使用
  8. VMware虚拟机安装Win10系统后出现蓝屏
  9. ZSP12项目的总结
  10. Activity利用Intent传递数据
  11. 腾讯云轻量服务器和虚拟主机VPS有什么区别?
  12. 求求你学学医疗保险小知识吧
  13. has a default child route. When navigating to this named route 。。。。。报错
  14. arthas profiler诊断服务性能
  15. ..\Watch\alarm.c(149): error: #268: declaration may not appear after executable statement in block
  16. 完整的软件开发流程是怎样的?
  17. 线程wait和notify方法
  18. java 根据用户名生成头像。
  19. Java中定义抽象类Shape,其中包含抽象方法double getPeremeter( )求周长和double getArea( )求面积。 定义一个矩形类,继承此抽象类,并自行扩充成员变量和方法。
  20. 软件需求管理用例方法 pdf_企业内训“软件需求设计建模方法学全程实例剖析”训练方案(2020年)...

热门文章

  1. 动漫人物手臂怎么画? 如何画好手臂?
  2. 我那张被问爆了的漫画头像确实有点东西
  3. 关于工程项目的目录划分的问题总结
  4. 老是自动弹出输入iTunes store 的apple ID 账号密码的窗口 解决
  5. JAVA三层架构,持久层,业务层,表现层的理解
  6. oracle无效列的删除,无效的列类型: 1111(oracle数据库)
  7. C++中using的用法
  8. ZOJ 1655 Transport Goods 最短路变形
  9. unity 太阳自发光_Unity 光照实例
  10. python读取文件编码报错解决