我在MySQL中有一个表,其中有一些列(MD5、flagfreferenced、FLAGCHANGEPASSWORD),其定义类似于“char(1)”,其中唯一可能的值是0和1。我希望jOOQ在代码生成中将这些转换为布尔值。
我创建了一个转换器:
public class BooleanConverter implements org.jooq.Converter<String, Boolean>{
private static final long serialVersionUID = -4785961538634851898L;
@Override
public Boolean from(String arg0) {
if (arg0 == null) {
return null;
}
return arg0.equals("1");
}
@Override
public Class<String> fromType() {
return String.class;
}
@Override
public String to(Boolean arg0) {
if (arg0 == null) {
return null;
}
return arg0.booleanValue() ? "1" : "0";
}
@Override
public Class<Boolean> toType() {
return Boolean.class;
}
}
然后在pom中配置转换器(我使用maven生成源代码)。
<customTypes>
<customType>
<name>java.lang.Boolean</name>
<converter>org.test.converter.BooleanConverter</converter>
</customType>
</customTypes>
<forcedTypes>
<forcedType>
<name>java.lang.Boolean</name>
<expressions>.*\.FLAGCHANGEPASSWORD,.*\.FLAGCONFIRMED,.*\.MD5.*</expressions>
</forcedType>
</forcedTypes>
/**
* The table column <code>mmw.enduser.MD5</code>
*/
public final org.jooq.TableField<de.kybeidos.mmw.data.tables.records.EnduserRecord, java.lang.String> MD5 = createField("MD5", org.jooq.impl.SQLDataType.CHAR, this);
这似乎是jooq-codegen中的一个bug。虽然文档清楚地说明可以提供几个正则表达式...
<forcedTypes>
<forcedType>
<!-- Specify again he fully-qualified class name of your custom type -->
<name>java.util.GregorianCalendar</name>
<!-- Add a list of comma-separated regular expressions matching columns -->
<expressions>.*\.DATE_OF_.*</expressions>
</forcedType>
</forcedTypes>
摘自
http://www.jooq.org/doc/2.6/manual/code-generation/custom-data-types/
...源代码实际上将
内容解释为单个正则表达式。请尝试以下方法,用管道替换逗号:
<expressions>.*\.FLAGCHANGEPASSWORD|.*\.FLAGCONFIRMED|.*\.MD5.*</expressions>
<forcedTypes>
<forcedType>
<name>BOOLEAN</name>
<expressions>.*\.FLAGCHANGEPASSWORD|.*\.FLAGCONFIRMED|.*\.MD5.*</expressions>
</forcedType>
</forcedTypes>
问题内容: 我有一个布尔变量,我想将其转换为字符串: 我需要转换后的值的格式为:,而不是 我试过了: 但是它告诉我,并且不是公认的功能。 如何将此布尔值转换为PHP 或PHP 格式的字符串? 问题答案: 最简单的解决方案:
问题内容: 如何将字符串转换为? 它返回 布尔值true 但这应该是。 问题答案: 除非字符串的值被PHP视为“空”(从的文档中获取),否则字符串始终为布尔值true : (一个空字符串); (0作为字符串) 如果您需要根据字符串的文本值设置布尔值,则需要检查该值是否存在。 编辑:上面的代码旨在使理解更加清晰。在实际使用中,以下代码可能更合适: 或者使用该功能可能会覆盖更多的布尔值: 覆盖整个范围
我有一个值,它将是四件事之一:布尔true、布尔false、字符串“true”或字符串“false”。如果字符串是字符串,我想将字符串转换为布尔值,否则不修改它。换句话说: “true”应该变为true “false”应变为false 真实应该保持真实 false应保持为false
本文向大家介绍将Java字符串对象转换为布尔对象,包括了将Java字符串对象转换为布尔对象的使用技巧和注意事项,需要的朋友参考一下 可以使用字符串文字在Java中创建字符串对象。 创建字符串对象的另一种方法是使用new关键字。 我们使用第一种方法来创建字符串对象。 现在,使用该方法将字符串对象转换为布尔对象。我们已经在布尔对象上使用了此方法。 现在让我们看完整的示例,以显示如何将String Ob
问题内容: 我可以将表示布尔值(例如,“ true”,“ false”)的字符串转换为JavaScript中的固有类型吗? 我有一个隐藏的HTML表单,可根据用户在列表中的选择进行更新。此表单包含一些表示布尔值的字段,并使用内部布尔值动态填充。但是,一旦将此值放入隐藏的输入字段中,它将成为一个字符串。 确定字段的布尔值(将其转换为字符串后)的唯一方法是依赖于其字符串表示形式的文字值。 有没有更好的
问题内容: 我想转换一个叫到(或使用),但它不能做的工作。Go中惯用的方式是什么? 问题答案: 使用strconv包 docs func FormatBool(b bool)字符串Formatbool 根据b的值返回“ true”或“ false”
问题内容: 我有一个名为数据帧作为 我想将列转换为布尔值(当状态为“已交付”而状态为“未交付”时),但是如果状态既不是“未交付”也不是“未交付”,则应将其视为“类似”。 我想用一个字典 所以我可以轻松地添加其他字符串,可以将其视为或。 问题答案: 您可以使用: