问题标签 [simpleflatmapper]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何写一个列表在带有 simpleflatmapper 的 csv 文件中?
我必须使用库simpleflatmapper,但我找不到一种方法来简单地用这个库写入csv 文件a 。我可以解析(没有空白行)并存入:List<String[]>
List<String[]>
但是我发现没有办法用 .csv 的数据编写一个新的 csv 文件List<String[]> lines
。我很确定这是可能的,但没有足够的适当文档。简而言之,我需要帮助!
java - 如何使用 SimpleFlatMapper 将前缀 CSV 列别名为 Map?
背景
使用 SimpleFlatMapper sfm-csv 6.0.3
示例 CSV:
波乔
简化代码
问题
照原样,Map
正在回来null
。我试图达到一个点:
“pf”。前缀是一成不变的,如果属性命名为“pf”,一切正常:
但我希望将该属性命名为“prefixedFields”而不是“pf”。
尝试解决
- 有关属性映射的SimpleFlatMapper 文档显示了如何匹配“pf”。前缀,但不包括别名 a
Map
:
.addAlias
只接受String
参数,所以这样的东西不起作用:
java - 允许 Simpleflatmapper 忽略构造函数并仅使用 setter
以下映射器配置工作正常(MyPojo 没有其他构造函数)
但就我而言,MyPojo 是一个遗留类,并带有一大堆构造函数:
这会导致映射器无法工作。我收到以下错误:
很明显,映射器正试图寻找一个参数与 SELECT 子句中的每个列匹配的构造函数。我不想添加重载的构造函数(SELECT 列列表很大)。
如何设置映射器来调用设置器而不是构造器?
java - 使用 SimpleFlatMapper 更轻松地进行映射
jOOQ可以在select子句中自动为表的所有列添加别名前缀吗?
jOOQ 还可以帮助解决数据库的 128 字节/字符名称长度限制吗?
问题的原因是 SimpleFlatMapper 用于映射。SimpleFlatMapper 需要将获取的数据库列名映射到模型。
模型示例(真正使用 getter/setter):
命名可以单独完成:
但是,如果它是具有多个连接/列的复杂模型,则有点乏味。我找到的唯一解决方案是手动编写函数。但是,我是否可能忽略了某些事情,而 jOOQ 可以自己完成还是提供帮助?
像这样的东西会非常好(可能不是最好的命名,我当场想不出更好的东西):
或者:
产生以下 SQL:
此外,Oracle 和 MSSQL 等数据库的名称限制为 128 个字节/字符。在非常罕见的复杂场景中,由于需要嵌套,别名可能会达到该限制。
jOOQ 不能以某种形式为此提供解决方法,或者可以吗?所以基本上定义一个在 SQL 中使用的名称和一个实际结果对象的名称。
我知道,非常小众的要求。但他们会对映射有很大帮助。
kotlin - jooq, simpleflatmapper, kotlin 映射
我正在将一个 java 项目转换为 kotlin,但在使用查询结果构造数据对象时出错。查询是在 Docs 和 Questions 之间具有一对多关系的联接。这适用于java,但我无法让它与kotlin一起使用。我尝试过提供默认值并使用 no-args 项目。不确定这是 kotlin、jooq 还是简单的平面映射器问题。