当前位置: 首页 > 面试题库 >

MyBatis可以创建数据库架构吗?

孙宏壮
2023-03-14
问题内容

MyBatis是否有任何功能可以像Hibernate一样从类模型创建SQL模式?

我在Google中寻找该信息,但只找到有关MyBatis
Generator的信息(http://mybatis.github.io/generator/)。这个工具对于从SQL模式生成Java模型似乎很有用,这与我想要的相反。


问题答案:

MyBatis可以创建数据库架构吗?

恐怕不是。为此,您需要一个ORM,而MyBatis不是ORM。

使用ORM解决方案(例如Hibernate),您可以将表映射到实体。实体是(关系)表的(对象)表示,并包含创建表所需的所有元数据(获取器/设置器,注释等)。

MyBatis不会将实体映射到表,而是将方法映射到SQL语句。无法通过方法或SQL语句确定数据库的结构。当您使用MyBatis时,表必须已经存在。



 类似资料:
  • 问题内容: (我已经看过[H2数据库在内存中-通过Spring /Hibernate问题的初始化架构;在这里不适用。) 我想知道H2中是否有设置,允许我在连接到它时自动创建一个模式。如果有帮助,我只对内存中的情况感兴趣。 H2在URL的末尾支持各种用分号分隔的修饰符,但是我找不到用于自动创建模式的修饰符。有这样的功能吗? 问题答案: 是的,H2支持在连接时执行SQL语句。您可以运行脚本,也可以只运

  • 问题内容: 我无法启动启动时自动启动数据库架构的Spring Boot。 这是我的application.properties: 这是我的Application.java: 这是一个示例实体: 有什么想法我做错了吗? 问题答案: 有几种可能的原因: 您的实体类位于与之相对的同一个子包中,或者在一个子包中,如果没有,则您的spring应用不会看到它们,因此不会在db中创建任何内容 检查您的配置,似乎

  • 问题内容: 读完Hibernate之后:hbm2ddl.auto=正在生产中更新吗?出现了一些问题。首先,我使用Hibernate的原因是要与数据库供应商无关(无需编写10个版本的“相同” sql查询,例如tsql vs. sql)。 我的问题是在创建数据库架构(生产环境)时出现的。据我所知,我有两种选择。 hbm2dll =更新 纯sql(ddl)脚本。 在上面的主题中广泛讨论了第一种选择。第二

  • 问题内容: 我们有2个数据库-DB1和DB2。 我可以在DB1中创建一个与DB2中的一个表有关系的表吗?换句话说,我的表中是否可以有来自另一个数据库的外键? 我用不同的用户连接到这些数据库。有任何想法吗? 现在,我收到错误消息: ORA-00942:表或视图不存在 问题答案: 不可以,Oracle不允许您创建通过数据库链接引用表的外键约束。您将必须使用触发器来强制执行完整性。

  • 问题内容: 我想创建一个使用PDO与MySQL交互的类。我可以使用PDO创建一个新的MySQL表吗? 问题答案: 是的你可以。 该部分是PDO构造函数的第一个参数,不必具有数据库名称。您可以简单地使用。然后,如果您具有适当的特权,则可以使用常规SQL命令创建数据库和用户等。 以下是install.php的示例,它以root用户身份登录,创建一个数据库,一个用户,并向用户授予对新创建的数据库的所有特

  • 问题内容: 我想为ACL创建一个架构;但是,我在实现它的两种方法之间陷入了困境。 我敢肯定,我不想处理级联权限,因为这会导致后端和站点管理员感到困惑。 我想我也可以只和一个角色一起生活。这样的设置将允许在网站扩展时根据需要添加角色和权限,而不会影响现有角色/规则。 首先,我要规范化数据并使用三个表来表示关系。 查询以确定是否允许某处某个用户的查询如下所示: 然后我意识到我将只有大约20个资源,每个