MyBatis可以创建数据库模式吗?

Ser*_*llo 7 java hibernate ibatis mybatis

MyBatis有任何功能允许从像Hibernate那样的de Class Model创建SQL模式吗?

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

Bog*_*dan 10

MyBatis可以创建数据库模式吗?

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

使用ORM解决方案(例如Hibernate),您可以将表映射到实体.实体是(关系)表的(对象)表示,包含创建表所需的所有元数据(getter/setter,annotations等).

MyBatis不将实体映射到表,它将方法映射到SQL语句.无法从方法或SQL语句中确定数据库的结构应该是什么.使用MyBatis时,表必须已存在.

  • @agpt:这一切都取决于你对ORM的理解.对于某些人来说,ORM是弥合对象和数据库之间差距的任何东西,因此从这方面来说,MyBatis就是一个ORM.我对ORM的定义更强.这是一个试图欺骗你的工具,认为没有数据库,你只使用对象和对象图,然后一些神奇的仙女坚持他们在某个地方.它还为您处理(和隐藏)SQL.对于某些应用程序,所有这些都有效,[对于其他应用程序没有](http://en.wikipedia.org/wiki/Object-relational_impedance_mismatch)... (2认同)
  • ...另一方面,MyBatis没有做任何事情.使用MyBatis,数据库就在您面前.你不想处理SQL?太糟糕了......你必须!MyBatis不会为您生成任何内容,它只会处理将数据输出到数据库所需的所有样板代码.MyBatis没有ORM的功能,它只是一个数据映射器. (2认同)