脚本编写

简介: 表达式规则维护在YAML文件中,默认扫描classpath*:/rules/**/*.yaml路径下的配置,如user.yaml。支持条件判断与复杂逻辑处理,如年龄校验、BMI计算并返回结果信息。

表达式内容维护在一个yaml里,默认扫描路径为:classpath:/rules/**/.yaml
这里为;user.yaml
// 对应上述接口1
isAdult:
用户.年龄 >= 18

// 对应上述接口2
com.test.UserManagerImpl.calculate: |
import com.test.Result;
bmiResult = new Result();
bmiValue = 用户.体重 / (患者.身高 * 患者.身高);
bmiResult.setBmiValue(bmiValue);
if (bmiValue < 18.5) {
bmiResult.setMsg("体重过低");
} else if (bmiValue > 23.9) {
bmiResult.setMsg("体重过高");
} else {
bmiResult.setMsg("体重正常");
}
return bmiResult;

相关文章
|
11月前
|
缓存 安全 Java
线程池初始化严禁使用Executors
阿里巴巴规范禁止使用Executors创建线程池,因其默认队列无界(如LinkedBlockingQueue)或线程数过多,易导致OOM。推荐使用ThreadPoolExecutor自定义参数,或结合Guava工具设置有界队列、合理线程数及拒绝策略,避免内存溢出并提升可维护性。
|
11月前
|
XML Java 数据库连接
引入MybatisPlus的起步依赖
MyBatisPlus官方提供了一站式Starter,集成MyBatis与MyBatisPlus全部功能,支持自动装配,可直接替代原生MyBatis依赖。引入`mybatis-plus-boot-starter`后,无需额外配置,简化开发流程,原MyBatis依赖可移除,提升效率。
|
11月前
|
SQL XML 安全
自定义SQL
利用MyBatisPlus的Wrapper构建动态查询条件,结合自定义SQL实现灵活更新。例如,扣减指定ID用户的余额:通过LambdaQueryWrapper构造id in (1,2,4)条件,Mapper中使用@Param(&quot;ew&quot;)传入wrapper,在XML或注解SQL中通过${ew.customSqlSegment}注入条件片段,实现SQL拼接,兼顾安全与灵活性。(239字)
|
11月前
|
安全 API
SimpleDateFormat不要定义为static
SimpleDateFormat线程不安全,避免定义为static,若需静态使用应加锁或采用ThreadLocal。推荐JDK8新时间API:Instant、LocalDateTime、DateTimeFormatter,具有线程安全、简洁、不变性等优点。
|
11月前
定义User
该类为用户实体类,包含用户ID和姓名属性。通过Lombok注解简化代码,自动生成getter、setter、toString及构造方法,提升开发效率,适用于数据封装与传输场景。(236字符)
|
11月前
Service接口
MP提供了更高效的Service层方法,如批量增删改查、分页等。使用时需继承IService接口及ServiceImpl实现类,遵循其规范,提升开发效率,避免重复编写Mapper层代码,实现更优雅的业务逻辑封装。(239字)
|
11月前
|
存储 NoSQL MongoDB
选择和创建数据库
MongoDB中使用`use 数据库名`选择或创建数据库,若不存在则自动创建;`show dbs`查看所有数据库;`db`查看当前库。集合需插入数据后才真正创建。数据库名需为非空小写UTF-8字符串,不含特殊字符,最长64字节。保留库包括admin(权限管理)、local(本地存储)和config(分片配置)。
|
11月前
|
SQL
案例实操
通过多个案例演示MyBatis-Plus中QueryWrapper和UpdateWrapper的实用技巧:实现条件查询、更新操作。涵盖模糊匹配、范围筛选、批量修改及SQL片段设置,提升开发效率与代码可读性。(238字)
|
11月前
|
SQL
理论分析
MyBatisPlus通过Wrapper条件构造器支持丰富查询,继承BaseMapper即可使用常用方法。AbstractWrapper定义eq、like、between等条件,QueryWrapper可指定查询字段减少IO开销,UpdateWrapper用于更新特定字段,提升SQL性能。
|
11月前
|
NoSQL MongoDB 数据库
数据库的删除
MongoDB删除数据库语法为:db.dropDatabase(),用于移除已持久化的数据库,执行后将永久删除当前数据库及其中所有数据,请谨慎操作。