示例


  • 本篇将带你从零开始搭建一个SqlFly环境,从而让你快速熟悉SqlFly的使用姿势
  • 数据库以MySQL为例

普通java版

1、创建测试数据库

在数据库中创建测试数据库:sqlfly-demo,并在其中运行以下sql代码:

  1. # 创建:用户表
  2. DROP TABLE IF EXISTS sys_user;
  3. CREATE TABLE `sys_user` (
  4. `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id号',
  5. `username` varchar(30) DEFAULT NULL COMMENT '用户昵称',
  6. `password` varchar(50) DEFAULT NULL COMMENT '密码',
  7. `sex` int(11) DEFAULT 1 COMMENT '性别(1=男,2=女)',
  8. `age` int(11) DEFAULT 1 COMMENT '年龄',
  9. `create_time` datetime NOT NULL COMMENT '创建时间',
  10. PRIMARY KEY (`id`) USING BTREE,
  11. UNIQUE KEY `username` (`username`) USING BTREE
  12. ) ENGINE=InnoDB AUTO_INCREMENT=10001 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='用户表';
  13. INSERT INTO `sys_user` VALUES (10001, '省长', '123456', 1, 18, '2019-08-05 17:58:05');
  14. INSERT INTO `sys_user` VALUES (10002, '小言', '1234567', 1, 19, '2019-08-05 18:58:05');
  15. INSERT INTO `sys_user` VALUES (10003, '闹心', '12345678', 2, 20, '2019-08-05 19:58:05');
  16. INSERT INTO `sys_user` VALUES (10004, '榴莲', '123456789', 2, 21, '2019-08-05 20:58:05');
  17. # 创建:文章表
  18. DROP TABLE IF EXISTS ser_article;
  19. CREATE TABLE `ser_article` (
  20. `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id号',
  21. `title` varchar(50) DEFAULT NULL COMMENT '标题',
  22. `content` longtext DEFAULT NULL COMMENT '内容',
  23. `user_id` int(11) DEFAULT 1 COMMENT '发表人user_id,外键',
  24. `create_time` datetime NOT NULL COMMENT '创建时间',
  25. PRIMARY KEY (`id`) USING BTREE
  26. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='文章表';
  27. INSERT INTO `ser_article` VALUES (0, '测试标题1', '测试内容1', 10001, '2019-08-06 20:58:05');
  28. INSERT INTO `ser_article` VALUES (0, '测试标题2', '测试内容2', 10002, '2019-08-06 21:58:05');

2、创建项目

在IDE中新建一个普通java项目:sqlfly-test

3、设置jar包依赖

在项目根目录新建文件夹lib,将 mysql数据库驱动sqlfly-xxx.jar 复制到其中

4、配置文件

在源代码根目录下(一般是src/)创建配置文件:sqlfly.properties,并输入以下内容

  1. # 连接信息
  2. driverClassName=com.mysql.jdbc.Driver
  3. url=jdbc:mysql://127.0.0.1:3306/sqlfly-demo?useUnicode=true&characterEncoding=utf-8
  4. username=root
  5. password=root123456
  6. # 是否启用内置连接池
  7. ispool=false
  8. # 是否在控制台打印sql执行日志
  9. printSql=true
  10. # 是否在初始化时打印版本号
  11. isV=false

不要无脑复制,记得把连接用户名和密码改成自己的

5、创建主类

在项目中新建包 com.pj ,在此包内新建主类 App.java,并输入以下代码:

  1. /**
  2. * SqlFly示例
  3. */
  4. public class App {
  5. public static void main(String[] args) {
  6. SqlFly sqlFly = SqlFlyFactory.getSqlFly();
  7. Map<String, Object> map = sqlFly.getMap("select * from sys_user where id = 10001 ");
  8. System.out.println(map);
  9. }
  10. }

6、运行

运行代码,当你从控制台看到类似下面的内容时,就代表框架已经成功搭建了

运行结果

SpringBoot集成版

SpringBoot集成SqlFly的步骤大体与[普通java版]相同,且得益于SpringBoot的依赖注入特性,步骤将更加简单

1、创建测试数据库

新建测试数据库 sqlfly-demo ,操作同[普通java版]

2、创建项目

在IDE中新建一个Springboot项目(不会的同学请自行百度)

3、设置jar包依赖

  • pom.xml 中添加依赖:
  1. <!-- sqlfly框架,在线文档:https://sqlfly.dev33.cn/ -->
  2. <dependency>
  3. <groupId>cn.dev33</groupId>
  4. <artifactId>sqlfly-spring</artifactId>
  5. <version>1.0.0</version>
  6. </dependency>

4、配置文件

application.yml配置文件中,输入以下代码:

  1. spring:
  2. # SqlFly的配置
  3. sqlfly:
  4. driverClassName: com.mysql.jdbc.Driver
  5. url: jdbc:mysql://127.0.0.1:3306/sqlfly-demo?useUnicode=true&characterEncoding=utf-8
  6. username: root
  7. password: root123456
  8. # 是否启用内置连接池
  9. ispool: false
  10. # 是否控制台打印日志
  11. printSql: true

5、创建主类

在项目中新建包 com.pj ,在此包内新建主类 SqlFlyDemoApplication.java,输入以下代码:

  1. @SqlFlySetup // 加载SqlFLy,一定要加这个注解
  2. @SpringBootApplication
  3. public class SqlFlyDemoApplication {
  4. public static void main(String[] args) {
  5. SpringApplication.run(SqlFlyDemoApplication.class, args); // 启动 springboot
  6. SqlFly sqlFly = SqlFlyFactory.getSqlFly();
  7. Map<String, Object> map = sqlFly.getMap("select * from sys_user where id = 10001 ");
  8. System.out.println(map);
  9. }
  10. }

6、运行

运行代码,当你从控制台看到类似下面的内容时,就代表框架已经成功搭建了

运行结果

详细了解

通过这个示例,你已经对SqlFly有了初步的了解,那么现在开始详细了解一下它都有哪些能力