jasper-reports
发表于|更新于
|浏览量:
自然里并不包含有永恒不变的形态——霍尔巴赫
JasperReports 库是世界上最流行的开源报告引擎。它完全是用 Java 编写的,能够使用来自任何类型数据源的数据,并生成像素完美的文档,可以查看、打印或导出各种文档格式,包括 HTML、 PDF、 Excel、 OpenOffice、 MS Word 和其他格式。
git地址:https://github.com/TIBCOSoftware/jasperreports
官网地址:https://community.jaspersoft.com/project/jasperreports-library

相关推荐
2021-09-19
mybatis-plus乐观锁
青,取之于蓝而青于蓝;冰,水为之而寒于水。 ——《荀子·劝学》 同样还是mybatis-plus官方示例项目 此处乐观锁不同于悲观锁的区别是,它只有在真正执行数据库操作的时候才去进行判断是否重复修改 需要指定一个字段作为版本号,使用@Version注解 官方文档中如此描述: 当要更新一条记录的时候,希望这条记录没有被别人更新乐观锁实现方式: 取出记录时,获取当前version 更新时,带上这个version 执行更新时, set version = newVersion where version = oldVersion 如果version不对,就更新失败 乐观锁配置需要两步 #1.配置插件spring xml方式: 123456789<bean class="com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor" id="optimisticLockerInnerInterceptor"...
2021-05-05
超实用的mybatis-plus工具类
每人心中都应有两盏灯光,一盏是希望的灯光;一盏是勇气的灯光。有 了这两盏灯光,我们就不怕海上的黑暗和风涛的险恶了。——罗兰 分享给大家 需要引入mybatis-plus 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778package com.kuang.common.util;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;import com.baomidou.mybatisplus.core.toolkit...
2025-04-12
MinecraftForge
毋为已消逝之年华叹息,须正视匆匆溜走的时光。 ——欧洲谚语 什么是 MinecraftForge?MinecraftForge 是一个为 Minecraft 提供的开源模组开发框架,它是 Minecraft 社区中最受欢迎的模组开发工具之一。通过 Forge,开发者可以轻松创建和加载模组(Mods),并扩展 Minecraft 的功能。Forge 的生态系统支持数千个模组,是 Minecraft 游戏创新的核心平台。 核心特点 模组兼容性: Forge 提供了一个标准化的接口,让不同的模组可以无缝工作,减少冲突。 支持多个模组同时运行,方便玩家自由搭配。 开发工具: 提供全面的 API,方便开发者调用 Minecraft 的核心功能。 ForgeGradle:一个集成了 MinecraftForge 项目的 Gradle 插件,用于简化模组开发构建流程。 跨版本支持: Forge 会随着 Minecraft 的更新而更新,支持多个 Minecraft 版本(如 1.12、1.16、1.18 等)。 强大的社区: Forge 拥有一个庞大的开发者和玩家社区...
2021-09-09
shaun中在不需要安全拦截的接口获取用户信息
我将仇恨写在冰上,然后期待太阳的升起。——加西亚马尔克斯 这里Opt用的是之前博客提到的复制修改过的Optional: https://VampireAchao.github.io/2021/07/19/%E6%96%B0%E7%89%88Optional/ shaun我之前也稍微写过:https://VampireAchao.github.io/2021/09/02/shaun/ 代码很简单: 1234567891011/** * 获取用户信息 * * @return com.baomidou.shaun.core.profile.TokenProfile * @author <achao1441470436@gmail.com> * @since 2021/9/9 10:33 */public static Opt<TokenProfile> getProfile() { final JEEContext context = WebUtil.getJEEContext(false); return Opt.ofNullable...
2021-03-21
模拟slf4j+logback输出的日志
宿命论是那些缺乏意志力的弱者的借口。——罗曼·罗兰 实现 12345678910111213141516171819202122232425262728293031323334353637383940414243package com.ruben.utils;import lombok.extern.slf4j.Slf4j;import java.lang.management.ManagementFactory;import java.lang.management.RuntimeMXBean;import java.time.LocalDateTime;import java.time.format.DateTimeFormatter;/** * @ClassName: LineUtils * @Description: 我还没有写描述 * @Date: 2021/3/17 0017 21:45 * * * @author: <achao1441470436@gmail.com> * @version: 1.0 * @since: JDK 1.8 */@Slf...
2023-03-19
关联更新封装(三)
太如意的生活便是平凡的生活,太容易获得的东西,便不是贵重的东西。——茅盾 今天是另外一种类型的关联更新封装 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768public static <T, K extends Comparable<? super K> & Serializable, S> BaseDbBO<S> saveSub(SubBO<T, K, S> bo) { val subIds = Steam.of(bo.getMainList()) .flat(data -> Steam.of(bo.getSubIdGetters()).map(f -> f.apply(data))) .nonNull().toList(); val su...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog