当前位置: 首页 > news >正文

flowable中用户相关api

springboot引入flowable:高版本mysql报错

    <!-- https://mvnrepository.com/artifact/org.flowable/flowable-spring-boot-starter --><dependency><groupId>org.flowable</groupId><artifactId>flowable-spring-boot-starter</artifactId><version>6.7.2</version></dependency><!--mysql驱动--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.18</version></dependency>

配置文件

# 应用服务 WEB 访问端口
server.port=8081spring.datasource.username=root
spring.datasource.password=root1234
# nullCatalogMeansCurrent
spring.datasource.url=jdbc:mysql:///flowable_idm?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false&nullCatalogMeansCurrent=truelogging.level.org.flowable = debug

flowable会自动生成需要的表,,跟用户相关的表:

  • ACT_ID_USER : 用户表
  • ACT_ID_GROUP: 角色表
  • ACT_ID_MEMBERSHIP : 用户角色关联表
  • ACT_ID_PROPERTY : 自定义属性表

flowable里面用的乐观锁,每次修改版本都会+1,,如果要修改需要先获取,得到当前版本,,然后再进行更新,,,如果需要新增,需要将revision设置为0

  • IdentityService : 和用户的相关操作
    新增用户:
     UserEntityImpl user = new UserEntityImpl();user.setId("cc");user.setDisplayName("陈杰");user.setPassword("123");user.setFirstName("j");user.setLastName("c1");user.setEmail("121113@qq.com");// revision默认为1 ,,,  ,,修改需要设置revision,,,每次修改这个revision字段都会+1// 第一次刚好数据库里面是1,,代码中默认是1// 修改的时候需要先查询,,,查完之后再去修改
//        user.setRevision(0);identityService.saveUser(user);
  User cc = identityService.createUserQuery().userId("cc").singleResult();cc.setEmail("hehe@qq.com");cc.setPassword("888");// 修改用户密码identityService.updateUserPassword(cc);

查找:

        List<User> userList = identityService.createUserQuery().userDisplayNameLike("%c%").list();List<Group> groups = identityService.createGroupQuery().groupMember("cc").list();groups.stream().forEach(item->{System.out.println(item.getName());});

自定义sql: flowable底层是mybatis

  User user = identityService.createNativeUserQuery().sql("select * from act_id_user where email_=#{email}").parameter("email", "hehe@qq.com").singleResult();System.out.println(user.getId()+user.getPassword());System.out.println("user = " + user);

删除组:

// ACT_ID_MEMBERSHIP 用户id和组之间的关联关系// ACT_ID_GROUP  组// 删除的时候会删除这两个表identityService.deleteGroup("leader");
  • IdmManagementService :获取系统属性

获取表ACT_ID_PROPERTY的属性值

  Map<String, String> properties = idmManagementService.getProperties();for (String s : properties.keySet()) {System.out.println(s+"="+properties.get(s));}

可以根据指定的类,获取这个类对应的表名,字段名,等:

 // 获取表信息String tableName = idmManagementService.getTableName(Group.class);System.out.println("tableName = " + tableName);TableMetaData tableMetaData = idmManagementService.getTableMetaData(tableName);System.out.println("列名 = " + tableMetaData.getColumnNames());System.out.println("列类型 = " + tableMetaData.getColumnTypes());System.out.println("表名 ="+tableMetaData.getTableName());
http://www.lryc.cn/news/544895.html

相关文章:

  • java后端开发day23--面向对象进阶(四)--抽象类、接口、内部类
  • 安装 Open WebUI
  • Llama 2中的Margin Loss:为何更高的Margin导致更大的Loss和梯度?
  • 【后端】Docker一本通
  • 工程化与框架系列(13)--虚拟DOM实现
  • 数据结构之各类排序算法代码及其详解
  • 【洛谷贪心算法】P1090合并果子
  • 【告别双日期面板!一招实现el-date-picker智能联动日期选择】
  • 现今大语言模型性能(准确率)比较
  • 程序诗篇里的灵动笔触:指针绘就数据的梦幻蓝图(水文,勿三)
  • 在 UniApp 中实现中间凸起 TabBar 的完整指南
  • Redis大key
  • WPF高级 | WPF 与数据库交互:连接、查询与数据更新
  • CogBlobTool工具
  • C# WinForm程序中如何调试dll接口
  • 自然语言处理:词频-逆文档频率
  • 【银河麒麟高级服务器操作系统】服务器测试业务耗时问题分析及处理全流程分享
  • 基于大数据的民宿旅馆消费数据分析系统
  • Spring-AI搭建企业专属知识库 一
  • 极简本地体验deepseek大模型教程
  • RabbitMQ系列(五)基本概念之Queue
  • 【记录】成为创作者的第 730 天(两年)
  • 深度剖析数据分析职业成长阶梯
  • 【XSS】DVWA靶场XSS攻击
  • Fiddler在Windows下抓包Https
  • 04 路由表的IP分组传输过程
  • AI Agent 定义与核心要素详解
  • 记忆化搜索与动态规划:原理、实现与比较
  • 在 Mac mini M2 上本地部署 DeepSeek-R1:14B:使用 Ollama 和 Chatbox 的完整指南
  • 计算机网络基础简答题资料(对口高考)