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/Hibernate 数据库在负载下崩溃:无法连接(即使在池中)