MySQL 如何在Grails 2.0上运行

MySQL 如何在Grails 2.0上运行

Grails是一种基于Spring框架的开发平台,它可以通过安装多个插件来集成和运行不同的应用程序。而MySQL则是广泛使用的数据库管理系统,在Grails 2.0上集成MySQL可以创建出更为强大和灵活的应用程序。本文将介绍如何通过多种方法在Grails 2.0上运行MySQL

阅读更多:MySQL 教程

安装插件

Grails使用特定的插件来支持不同的数据库。在使用MySQL时,可以安装MySQL插件,该插件提供了访问MySQL数据库所需的所有必要依赖项。

要在Grails应用程序中安装MySQL插件,可以使用以下命令:

grails install-plugin mysql

该命令将下载并安装MySQL插件。在安装插件后,可以配置具有以下详细信息的DataSource:

dataSource {
    driverClassName = "com.mysql.jdbc.Driver"
    username = "root"
    password = "password"
    dialect = org.hibernate.dialect.MySQL5InnoDBDialect
    url = "jdbc:mysql://localhost:3306/mydatabase?autoReconnect=true&useSSL=false"
    properties {
        maxActive = 50
        minEvictableIdleTimeMillis = 60000
        timeBetweenEvictionRunsMillis = 60000
        numTestsPerEvictionRun = 3
        testOnBorrow = true
        validationQuery = "SELECT 1"
    }
}

其中,driverClassName是用于连接MySQL的JDBC驱动程序类的名称。username和password是MySQL服务器的凭据,而url是MySQL服务器的位置和端口(例如localhost:3306/mydatabase)。上面的代码中,发现我们使用一个名为“mydatabase”的数据库。

配置MySQL

将MySQL集成到Grails 2.0应用程序需要对MySQL进行配置。您应该确保MySQL正在运行并访问控制允许来自Grails应用程序的连接。要做到这一点,您可以使用以下命令:

mysql -u root -p

然后输入密码并回车登录。

接下来,使用以下命令创建一个新的数据库:

create database mydatabase;

确保使用create关键字和正确的数据库名称。

然后,您可以创建一个包含名称和密码的新用户:

create user 'myuser'@'%' identified by 'mypassword';

该命令将创建一个名为“myuser”的用户,密码为“mypassword”。

创建用户后,您可以为该用户授予访问mydatabase数据库的权限:

grant all on mydatabase.* to 'myuser'@'%';

该命令将为“myuser”用户授予对“mydatabase”数据库的所有权限。

现在,MySQL已经配置好了。

示例

下面的示例演示了如何在Grails 2.0中使用MySQL

创建Domain类

首先,创建一个Domain类,以表示位于MySQL数据库中的数据记录:

package com.example.demo

class Book {
    String title
    String author
    Integer pageCount
    Date publishedDate

    static constraints = {
        title(blank: false)
        author(blank: false)
        pageCount(min: 1)
        publishedDate(nullable: false)
    }
}

在上面的代码中,定义了一个名为“Book”的Domain类,该类包含标题、作者、页数和发布日期属性。使用Grails的约束DSL,约束时间戳不能为空,标题和作者名称字段也不能为空。

生成控制器和视图

接下来,您可以使用以下命令来创建控制器和视图:

grails create-controller Book

该命令将生成一个名为“BookController”的控制器,并为该控制器生成视图。

更新控制器

接下来,打开“grails-app\controllers\com\example\demo”目录,并打开“BookController.groovy”文件。

在该文件的顶部,包含用于声明缺省数据库config中的DataSource。以下是添加import语句的示例:

import groovy.sql.Sql
import javax.sql.DataSource

class BookController {
    def dataSource

    ...

接下来,在控制器类中编写一个动作以向数据库添加新的Book条目:

class BookController {
    def dataSource

    def create() {
        def sql = new Sql(dataSource)

        try {
            sql.executeInsert("book", [title: "Example Title", author: "Example Author", pageCount: 123, publishedDate: new Date()])
        } finally {
            sql.close()
        }

        redirect(action: "index")
    }

    ...
}

上面的代码中,create()方法使用Sql类来插入一条新的book记录。最后,create()方法重定向回index()方法。

接下来,打开“grails-app\views\book”目录,打开“index.gsp”文件,并使用以下代码替换其中的内容:

<!DOCTYPE html>
<html>
<head>
    <meta name="layout" content="main">
    <title>Index</title>
</head>

<body>    
    <table>
    <thead>
        <tr>
            <g:sortableColumn property="title" title="Title" />
            <g:sortableColumn property="author" title="Author" />
            <g:sortableColumn property="pageCount" title="Page Count" />
            <g:sortableColumn property="publishedDate" title="Published Date" />
            <th></th>
        </tr>
    </thead>
    <tbody>
    <g:each in="{books}" status="i" var="book">
        <tr class="{(i % 2) == 0 ? 'odd' : 'even'}">
            <td>{fieldValue(bean: book, field: "title")}</td>
            <td>{fieldValue(bean: book, field: "author")}</td>
            <td>{fieldValue(bean: book, field: "pageCount")}</td>
            <td>{fieldValue(bean: book, field: "publishedDate")}</td>
            <td><g:link action="edit" id="${book.id}">Edit</g:link></td>
        </tr>
    </g:each>
    </tbody>
    </table>

    <g:link action="create" class="btn">Create New Book</g:link>
</body>
</html>

上述代码中,使用sortableColumn标记来添加表头和书籍属性值,然后循环通过each循环来列出书籍和其属性值。最后,添加一个链接转到create动作。

现在,重新启动Grails应用程序,并访问http://localhost:8080/book/index。您应该可以看到一个空的书籍列表和一个可以创建新的书籍的按钮。点击“Create New Book”按钮,应会将一条新记录添加到MySQL数据库中。

总结

本文介绍了在Grails 2.0应用程序中如何使用MySQL。首先安装了MySQL插件,在DataSource中配置MySQL信息,然后创建了一个Domain类以表示书籍记录。然后创建了一个控制器并实现了创建新书籍的方法,最后使用Groovy Server Pages(GSP)模板渲染书籍列表。

希望本文能够帮助您集成MySQL到Grails 2.0中并开始开发强大和灵活的应用程序。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程