grails连接数据库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了grails连接数据库相关的知识,希望对你有一定的参考价值。

我用grails已经连接上数据库了,但是怎么把数据库中a表的数据在页面上显示

参考技术A grails集成hibernate持久化,如果你只是要用grails这样的框架去查询数据库,那么你只要用JAVA语言写一段程序就好了。怎么写java程序进行数据库连接查询你百度一下就好了。添加数据库的jar包引用,然后编写自己的程序,用的是groovy语言,其实跟java没啥太多区别。grails用的MVC模型,代码放在控制器里。追问

QAQ 就是因为找不到代码所以才问的呀~,有没有详细的代码啊

追答

你只要搜索java数据库编程就有很多结果了。
首先添加jdbc驱动,去官网上下,然后添加如下代码
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.*;
public class Dbconn
public Connection getConnection()

String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL = "jdbc:sqlserver://localhost:1433;DataBaseName=LD";
String userName = "admin";
String userPwd ="123";

Connection dbConn = null;
try
Class.forName(driverName);//加载jdbc
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);//建立连接
System.out.println("Connection Successful!");

catch (Exception e)
// e.printStackTrace();
System.out.println(e.getMessage());

return dbConn;




其实与数据库交互有四个步骤:1,打开数据库创立连接
2,执行一条语句,在java中一般是Statement语句
3,返回结果,用resultset处理结果
4,关闭连接

追问

jdbc我会用。。。我问的是grails,grails有自带的hibernate,虽说grails能用java代码,但还是不全一样的

追答

如果是grails调用存储过程的话可以这样

import groovy.sql.Sql

class TestService

def dataSource//注入数据源
def execute()
def db = new Sql(dataSource)
db.rows('select * from user')
db.eachRow('select * from user') println it
db.rows('call stp_select_user()')

如何将MariaDB与Grails连接?

我需要将第二个数据库链接到我的系统(我有一个grails),我找不到方法,我使用的是以下内容:

dataSource_maria 
 dialect = org.hibernate.dialect.MariaDBDialect
 driverClassName = 'org.mariadb.jdbc.Driver'
 username = 'root'
 password = 'greenArrow2019'
 url = 'jdbc:mariadb://192.168.0.20/db'
 dbCreate = 'validate'

控制台错误:

| Error 2019-03-18 11:06:40,695 [localhost-startStop-1] ERROR pool.ConnectionPool  - Unable to create initial connections of pool.
Message: org.mariadb.jdbc.Driver
    Line | Method
->>  266 | run       in java.util.concurrent.FutureTask
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|   1149 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    624 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^    748 | run       in java.lang.Thread
Caused by ClassNotFoundException: org.mariadb.jdbc.Driver

谢谢!

答案

您需要确保在项目中包含Maria的JDBC驱动程序。例如,在Grails 3 build.gradle文件中,您可以添加依赖项

compile 'org.mariadb.jdbc:mariadb-java-client:2.4.1'

如果您包含JDBC驱动程序并且仍然遇到类未找到异常,请使用您的构建信息和grails版本更新此问题,以便人们可以进一步帮助您。

以上是关于grails连接数据库的主要内容,如果未能解决你的问题,请参考以下文章

Grails如何连接多数据库

Grails/Hibernate 数据库在负载下崩溃:无法连接(即使在池中)

grails怎样连接mysql数据库

Grails 2.4.4 executeQuery() 从数据库表连接表

Grails 2.3.0 和 mysql 连接超时

如何获取 Grails 的 jasper 报告的数据源连接?