通过生成域使用 Grails 读取现有 mysql 表
Read existing mysql tables using Grails by generating the domains
我是第一次尝试 Grails 3.0.8。我将使用它来创建用于移动开发的 Web 服务。
我已经有一个包含很多表的 mysql 数据库。我发现我可以使用 "db-reverse-engineer:0.5.1" 从表中生成不同的域。出于某种原因,我无法安装该插件并且它不起作用。我认为这与 Grails 的新版本 3.0.8 有关。
由于没有很多关于此版本的文档,我想知道是否有一种方法可以从现有的 MySQL 数据库生成域。
如果没有,是否可以在不为表创建域的情况下使用数据库?
db-reverse-engineer 插件适用于 Grails 2。它与 Grails 3 不兼容。参见 Grails 3 reverse engineer database to domain objects
如果您得到 Hibernate session. You can read about how to get one here,您可以 运行 数据库查询。
对于 Hibernate 会话,您可以使用 Session.createQuery(String)
方法创建 SQLQuery 实例。然后只需执行 SQLQuery.list()
方法即可 运行 查询。这是 运行在 H2 数据库中执行任意查询的示例。
def q = session.createSQLQuery 'select * from INFORMATION_SCHEMA.COLUMNS'
q.list() // Runs the query.
我是第一次尝试 Grails 3.0.8。我将使用它来创建用于移动开发的 Web 服务。
我已经有一个包含很多表的 mysql 数据库。我发现我可以使用 "db-reverse-engineer:0.5.1" 从表中生成不同的域。出于某种原因,我无法安装该插件并且它不起作用。我认为这与 Grails 的新版本 3.0.8 有关。
由于没有很多关于此版本的文档,我想知道是否有一种方法可以从现有的 MySQL 数据库生成域。
如果没有,是否可以在不为表创建域的情况下使用数据库?
db-reverse-engineer 插件适用于 Grails 2。它与 Grails 3 不兼容。参见 Grails 3 reverse engineer database to domain objects
如果您得到 Hibernate session. You can read about how to get one here,您可以 运行 数据库查询。
对于 Hibernate 会话,您可以使用 Session.createQuery(String)
方法创建 SQLQuery 实例。然后只需执行 SQLQuery.list()
方法即可 运行 查询。这是 运行在 H2 数据库中执行任意查询的示例。
def q = session.createSQLQuery 'select * from INFORMATION_SCHEMA.COLUMNS'
q.list() // Runs the query.