SpringBoot整合BeetlSql3.0及BeetlSql3.0快速入门说明
一 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快速入门说明相关推荐
- NX12.0工业产品设计快速入门完全自学视频教程,详细讲解,通俗易懂
工业机械五金零件设计3D画图建模,让设计更精准,更智通,更快速! 教程版本:2021基础快速入门版(软件版本UG-NX12.0) 本教程有35课时,结合讲师多年的工作经验为提前下,以一种最容易让新手快 ...
- 深入理解 Redis Template及4种序列化方式__spring boot整合redis实现RedisTemplate三分钟快速入门
概述 使用Spring 提供的 Spring Data Redis 操作redis 必然要使用Spring提供的模板类 RedisTemplate, 今天我们好好的看看这个模板类 . RedisTem ...
- Apache Spark 2.2.0 中文文档 - 快速入门 | ApacheCN
快速入门 使用 Spark Shell 进行交互式分析 基础 Dataset 上的更多操作 缓存 独立的应用 快速跳转 本教程提供了如何使用 Spark 的快速入门介绍.首先通过运行 Spark 交互 ...
- 『0基础』Java快速入门必备秘籍
Java之所以是大家最受欢迎的编程语言,是因为它在互联网中的使用非常广泛.随着互联网软件开发的进行,企业增加了更多的Java的岗位需求.因此,Java开发人员的工作机会增加了. 在入行Java之前,相 ...
- springboot整合redis,用spring-data-redis2.0的同时用jedis
最新版本的spring-data-redis很烦,很多以前用起来很方便的方法过时了.下面是2.0这个版本的搭建过程: 首先要了解这个版本 (1)spring-data-redis是默认是用lettuc ...
- 阿里云Sophix 3.0版本热更新快速入门
废话不多说 什么优缺点 大家肯定已经比较过,就想找到一种既方便有安全而且快捷的集成方案,一下满满的干活: 1:首先登录阿里云地址: https://www.aliyun.com/product/hot ...
- SteamVR2.0基本思路及快速入门
SteamVR2.0(我这里用v2.5版本)的动作捕捉与MFC中的变量绑定很相像,大致分三步 (1).在SteamVR Input中定义量A 变量类型决定可绑定哪个动作.比如要检测手柄扣板机动作,可以 ...
- 0基础该如何快速入门python?全写在这篇学习攻略里了
目前python是一门相对应比较火爆的编程语言,应用范围也非常的广泛,但目前竞争不大,工资也算乐观,未来发展也极好. 但是对python这个行业根本不了解的情况下,一味的买书看书.看视频,是很难达到预 ...
- SpringBoot 整合 Thymeleaf 如何使用后台模板快速搭建项目
如果你和我一样,是一名 Java 道路上的编程男孩,其实我不太建议你花时间学 Thymeleaf,当然他的思想还是值得借鉴的.但是他的本质在我看来就是 Jsp 技术的翻版(Jsp 现在用的真的很少很少 ...
- 【第0天】MYSQL快速入门-了解MySQL存储引擎(SQL 小虚竹)
回城传送–><100天精通MYSQL从入门到就业> 文章目录 零.前言 一.什么是数据库引擎 二.MYSQL中有哪些数据库引擎 2.1.MyISAM 2.2.Memoey 2.3.I ...
最新文章
- $\be$-QGE 的弱强唯一性
- mysql 知识整理(待续)
- 新手学习python(四)字符串方法
- 2021牛气新年素材模板,你真的不来看一看吗?
- 计算机网络---计算机网络分层结构
- MyBatis的XML配置文件(二)
- python创建类mymath_构建DLL(MyMathFuncs)以在Python Ctypes中使用
- VMware虚拟机安装Win10系统后出现蓝屏
- ZSP12项目的总结
- Activity利用Intent传递数据
- 腾讯云轻量服务器和虚拟主机VPS有什么区别?
- 求求你学学医疗保险小知识吧
- has a default child route. When navigating to this named route 。。。。。报错
- arthas profiler诊断服务性能
- ..\Watch\alarm.c(149): error: #268: declaration may not appear after executable statement in block
- 完整的软件开发流程是怎样的?
- 线程wait和notify方法
- java 根据用户名生成头像。
- Java中定义抽象类Shape,其中包含抽象方法double getPeremeter( )求周长和double getArea( )求面积。 定义一个矩形类,继承此抽象类,并自行扩充成员变量和方法。
- 软件需求管理用例方法 pdf_企业内训“软件需求设计建模方法学全程实例剖析”训练方案(2020年)...