问题标签 [mybatis-generator]
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.
code-generation - 我可以动态生成 mybaits Mapper 吗?
var ${module} 可能是表配置中 domainObjectName 的值。
mysql - mybatis 生成器“列名模式不能为 NULL 或空”
我在 Eclipse 中使用 MyBatis 生成器。这是 generatorConfig.xml 文件。当我右键单击并选择“生成 MyBatis 工件”时,它会显示错误消息,例如“列名模式不能为 NULL 或为空”。
你能帮我解决这个问题吗?谢谢!
spring - Mybatis generator mapper 和示例catn't injection to service layer(解析)
- 我的项目是使用 jsf-spring-mybatis 框架,我使用 mybatis-generator 创建 dao、mapper 和模型,还包括模型示例,github 上的项目地址是jsf-spring-mybatis 项目。
控制器层
服务层
/li>
- 模型层中的 Example.java
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
- ExampleMapper.xml
- Eclipse 控制台信息
更新服务层
/li>在控制器层添加带有服务接口的 getter 和 setter 函数
@ManagedProperty(value = "#{employeeService}") 私人 EmployeeFace 脸;
/li>为模型添加一个空结构
- 好的,解决这个问题。
java - Mybatis-generator 在 Mac 上使用 java 1.8 不起作用
我在下面有 mybatis-generator 配置文件:
当我使用命令“java -jar mybatis-generator-core-1.3.2.jar -configfile ORM-config.xml -overwrite”运行 nybatis-generator 时,生成器的结果是
在我的 Mac 上,我使用的是 java 8
有人像我一样有错误吗??
mybatis-generator - ClassNotFoundException: MyBatis3Simple
当我使用 mybatis-generator 从 mysql 自动生成映射器 xml 和模型时,但出现错误:
生成器配置为:
pom.xml 是:
但如果我使用 MyBatis3,它运行正常。
java - 使用 MyBatis 映射输入和输出参数
我正在学习如何使用MyBatis。老实说,我非常喜欢这个框架。它易于使用,我对它很满意,因为我可以使用我的 sql 命令:) 我使用 MyBatis 3.4.2 和 PostgreSQL 数据库。
例如,我喜欢在插入@SelectKey
注释之前执行查询是多么容易。如果我在接口方法之前添加一些注释,数据映射就像一个魅力,就像这样:@Results({ @Result(property = "javaField", column = "database_field", javaType = TypeHandler.class)
.
我不喜欢的(我希望你能把我引向正确的方向)如下:
(问题 1)我有一些查询允许我使用 null 和正常值,而无需任何额外的“if”java 语句来检查变量是否包含 null 值。它们看起来像这样:
使用 JDBC,我需要执行以下操作:
如您所见,我需要传递两次userId,因为这是 JDBC 的工作方式。老实说,我的期望是下面的代码可以与 MyBatis 一起使用,但不幸的是它不起作用。第三个参数仍然需要定义。
我想知道是否可以将这个功能添加到 MyBatis 中。如果 MyBatis 可以自动绑定两次userId应该没问题,如下所示:
我实际做的解决方法如下。我讨厌它,因为它很棘手,并且需要额外的 java "if" 语句:
我不知道用 MyBatis 管理这种情况的最佳做法是什么。请指导我。
(问题 2)在@Select
. 在映射具有相同结果类型的查询结果时,有什么方法可以避免重复代码?
第一个查询:
第二个查询:
我可以以某种方式重用与映射相关的代码吗?我需要添加映射,因为我对状态字段使用特殊类型的处理程序。我使用基于注释的配置。
(问题 3) @Param
注释我在文档中看不到任何关于@Param
注释的内容。这很难弄清楚为什么我的 java 参数没有正确限制。最后我意识到@Param
我的代码中缺少注释。为什么官方文档中没有提到这一点?我以错误的方式做某事并且@Param
没有必要使用?
该代码工作正常:
这不起作用:
更新(问题 1)
我的第一个想法与@blackwizard提到的类似:“Mybatis 确实按名称绑定参数,然后一次、两次、N 次,只要它被引用,它就可以工作。”
但这实际上不能正常工作。如果 userId 不为空,它会起作用。如果它为空,我会得到一个从数据库返回的很好的异常。我猜 MyBatis 以错误的方式绑定 null 值。也许这是一个错误。我不知道 :(
例外:
最后我找到了三种不同的解决方案。
(问题1:解决方案1)
我遵循@blackwizard提到的内容,并且能够将条件userId = (userId == null) ? -1 : userId
从 java 移动到 MyBatis 级别。而且还不错!正确的语法是:<if test='userId==null'><bind name='userId' value='-1'/></if>
.
(问题1:解决方案2)
我从postgres返回错误的原因could not determine data type of parameter $2
是因为在空值的情况下,JDBC驱动程序无法确定参数的类型。所以让我们手动定义它。
(问题1:解决方案3) 第二种解决方案依赖于PorstgreSQL。以下解决方案完全独立于数据库。感谢@blackwizard 的精彩评论。
我个人更喜欢解决方案 3。它包含的附加代码较少。
java - MyBatis 自定义查询:为什么不生成模型和映射器方法?
MyBatis Java生成器为什么不创建:
- 用于自定义结果映射的 Java 模型;和
- 用于自定义查询的 Java 映射器方法?
自定义查询和结果映射基于 MyBatis SqlMap XML,因此我认为应该可以创建模型类并将方法添加到 Mapper 类。
还是我误解了什么?
maven - 怎么可能让 MyBatis Generator 覆盖已经生成的 *Mapper.xml?
像标题一样,当我执行 mybatis-generator 时,我想覆盖已经生成的 *Mapper.xml 全部,而不是合并!但我尝试了很多配置方式,它没有实现正确。并且每次生成 xml 内容的次数越多。像这样:
在属性中,我添加了这一行:
在构建 > 插件中,我添加以下行:
在 mybatis-generator.xml 中,我尝试覆盖配置。所有配置都不起作用。
我该如何修改配置?
eclipse - 如何使用 MyBatis Generator Eclipse 插件将 SqlMap 文件放入 src/main/resources?
是否可以配置 MyBatis Generator Eclipse 插件在 src/main/resources 目录下生成 SqlMap 文件?
当我为 targetProject 使用路径时,出现错误。当我只使用项目时,SqlMap XML 文件是在 src/main/java 中创建的(我必须使用 maven 将它们复制到 src/main/resources.
这会导致错误:
src/main/resources 存在。
gradle - MyBatis Generator 在我将项目转换为 Gradle (STS) 或 Maven 后停止工作
我们正在研究使用 MyBatis Generator 来创建我们的基础实体类并创建 CRUD 操作
我们已经创建了 generatorConfig.xml 文件并运行 MyBatis Generator 在我们的目标文件夹中,所有类都按预期创建
现在我们将项目转换为使用 Gradle (Gradle STS),因为这是我们所有其他项目的约定
一旦我们这样做并重新运行 MyBatis 生成器,我们会收到以下错误
“找不到项目的源文件夹”
我们做错了什么?
这是配置文件
我创建了 Java 项目“myBatisArt”
在第一次运行时,所有文件都创建好了。
然后在点击“配置->转换为 Gradle (STS) 项目时
(见图)
并再次运行生成过程我得到了错误
“找不到项目的源文件夹”