问题标签 [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.

0 投票
4 回答
11808 浏览

mybatis - Mybatis Generator:分离“自动生成”和“手动编辑文件”的最佳方法是什么

我的项目同时使用Mybatis(用于将 java 持久化到数据库)和Mybatis Generator(从数据库模式自动生成映射器 xml 文件和 java 接口)。

Mybatis 生成器在生成基本 crud 操作所需的文件方面做得很好。

语境

对于某些表/类,我们将需要比 MyBatis Generator 工具生成的“粗略的东西”更多的“东西”(代码查询等)。

有没有办法拥有“两全其美”,即使用自动生成以及“自定义代码”。您如何分离和构造“手动编辑的文件”和“自动生成的文件”。

提议

我正在考虑以下内容,即表“Foo”

自动生成

  • FooCrudMapper.xml
  • 接口 FooCrud.java

(其中“Crud”代表“创建读取更新删除”)

手工编辑

  • FooMapper.xml
  • 接口 Foo 扩展了 FooCrud

概念:如果架构发生更改,您始终可以安全地自动生成“Crud”xml 和 .java 文件,而无需清除任何自定义更改。

问题

  • mybatis 会正确处理这种情况,即这个映射器会正确执行自动生成的“粗略代码”吗?

    FooMapper fooMapper = sqlSession.getMapper(FooMapper.class);

  • 你推荐什么方法?

编辑1:*我们的数据库设计使用“核心表”(“元素”)和其他表“扩展”该表并添加额外属性(共享键)。我查看了文档和消息来源得出结论,如果没有任何手动编辑,我不能将 Mybatis Generator 与这种“扩展”结合使用:

即这不起作用。-ElementMapper 扩展“ElementCrudMapper” -FooMapper.xml 扩展“ElementCrudMapper”和“FooCrudMapper”

谢谢大家!

0 投票
2 回答
331 浏览

mocking - Order of attributes in MyBatis generated pojos

In our team we started using MyBatis Generator version 1.3.1, and we just recently migrated to version 1.3.2 and found a change in the order of attributes of the generated POJOs.

Previously, the order of the attributes in the generated classes was alphabetical, but after the change, we've realized that in the XxxKey classes, i.e., the classes that match the primary key of the table, the order of the attributes is no longer alphabetical.

Example:

Version 1.3.1:


Version 1.3.2:

We are accessing the generated POJOs with reflection for some mocking utils, and the change in the attributes order broke it. We can fix the affected changes, but it would be great to indicate how the classes are generated.

Is it possible to do that? I guess the answer is no, but just in case. By the way, the attribute order in version 1.3.1 was alphabetic. In which order are the attributes generated in version 1.3.2?

Regards, Tomas.

0 投票
1 回答
165 浏览

mybatis - 如何扩展 MyBatis 以支持新数据库?

我需要将 MyBATIS 移植到一种新型数据库(自定义数据库)...我想我需要编写一个与我的数据库相关的 SqlSessionFactory?

您能否请我参考有关如何扩展它的文档?

0 投票
2 回答
1993 浏览

gradle - Flyway Gradle 插件 - 循环依赖

我有一个使用 gradle、flyway gradle 插件、mybatis 生成器和 postgres 的项目。在我的 build.gradle 中,我有:

我想在 myBatisGenerator 运行之前运行 flywayMigrate 任务。所以我做了以下事情:

当我尝试使用 gradle test 运行构建时,我收到以下错误:

我不确定为什么从 flywayMigrate 插件中调用 compileTestJava。任何想法如何解决这个问题并且仍然在 mybatis 生成器之前运行 flyway 插件?

0 投票
1 回答
2039 浏览

java - MyBatis 生成器 - 生成映射器实现

我正在使用 MyBatis 生成器,创建的文件是正确的:模型类、java 映射器、xml 映射器。问题是java映射器只是生成接口,而不是实现。据我所知,使用 xml 映射器中的方法也应该很容易生成实现。

有没有办法生成映射器接口的实现?还是我误解了这个概念?

0 投票
1 回答
235 浏览

mybatis - mybatis配置文件错误

从命令行运行配置 xml 文件时出现以下错误,如 mybatis 站点上所述。我运行“java –jar mybatis-generator-core-1.3.2.jar –configfile mbg.xml –overwrite –verbose”</p>

错误:

在此处输入图像描述

任何帮助,将不胜感激。

0 投票
1 回答
1111 浏览

java - Mybatis - 3.2.7 上的映射错误,适用于 3.0.3

使用“mybatis 3.2.7.jar”时,我的项目中遇到映射错误,但它使用 3.0 版时有效。


(试用基于loaine sample hello world mybatis)这是整个示例项目文件:



0 投票
1 回答
1528 浏览

java - 具有多个数据库的 MyBatis 生成器

我试图从三个表中生成“MyBatis Generator”映射器,前两个在一个数据库中(derby 示例),最后一个在另一个数据库中(BIRT 示例)。

我在 derby 中使用 RAD 8.5。

这是我的xml配置文件

当我在生成器配置文件上单击右键时,出现以下错误:

启动数据库失败

我找不到有关此问题的任何指南。

有人知道我的错误在哪里,或者知道一些关于带有多个数据库的 mybatis 生成器的指南吗?

0 投票
2 回答
1038 浏览

java - MyBatis Generator 单结果图

我使用 MyBatis Generator 生成 JavaBean 和 Mapper.xml。

但 Mapper.xml 与我预期的不同。

Mapper.xml 包含两个 resultMapBaseResultMapResultMapWithBLOBs.

我只希望一个 resultMap 包含所有列。

0 投票
1 回答
4689 浏览

java - MyBatis 生成器 setDistinct(true)

我正在尝试setDistinct(true)按照指南中的说明使用:http: //mybatis.github.io/generator/generatedobjects/exampleClassUsage.html

我是这样写的:

setDistinct(true)不影响结果。

我应该在哪里添加 setDistinct 行?