第一步:
在grails工程中打开grails-app\conf\Config.groovy文件,在文件的最后加上如下代码:
gsql_connector {
c_url="jdbc:mysql://localhost:3306/snmp?useUnicode=true&characterEncoding=UTF-8"
username="root"
password="root"
driverClas="com.mysql.jdbc.Driver"
}
注:
c_url:连接数据库的URL
username:连接数据库的用户名
password:连接数据库的密码
driverClas:连接数据库的驱动类
记得把mysql数据库驱动jar包放到工程的lib中
第二点:
写一个MysqlConnectService.groovy类,内容如下:
package com.test
import groovy.sql.Sql
import org.codehaus.groovy.grails.commons.ConfigurationHolder as CH
class MysqlConnectService {
boolean transactional = false
def serviceMethod() {
}
def getSql(){
return Sql.newInstance(CH.config.gsql_connector.c_url, CH.config.gsql_connector.username, CH.config.gsql_connector.password, CH.config.gsql_connector.driverClas)
}
def getSqlTopo(){
return Sql.newInstance(CH.config.gsql_connector.c_url, CH.config.gsql_connector.username, CH.config.gsql_connector.password, CH.config.gsql_connector.driverClas)
}
def getSql2(){
return Sql.newInstance(CH.config.gsql_connector.c_url, CH.config.gsql_connector.username, CH.config.gsql_connector.password, CH.config.gsql_connector.driverClas)
}
def getSqlbnmsdb(){
return Sql.newInstance(CH.config.gsql_connector.c_url, CH.config.gsql_connector.username, CH.config.gsql_connector.password, CH.config.gsql_connector.driverClas)
}
}
第三步:在业务逻辑类中,实例化com.test.MysqlConnectService 类,并定义一个获得数据库连接的方法:
def mysqlConnectService
/**
* 获得SQL连接对象
* @return SQL连接对象
*/
def getSql(){
return mysqlConnectService.getSql()
}
第四步:在业务逻辑类中定义一个查询方法:
//读取多行
def findAllStudent(){
def sqlConn=getSql()
String sql="select * from Students"
sqlConn.eachRow(sql,{
println it
})
}
//读取单行
def findStudentById(int id){
def sqlConn=getSql()
String sql="select * from Students where id=?"
def firstRow=sqlConn.firstRow(sql,[id])
println firstRow.name
}
注:
SqlConn方法中的参数有三个,第一个是SQL语句,第二个是SQL占位符值,第三个是闭包(firstRow方法不需要)
这样就可以不通过Domain获得数据库中的数据了。
分享到:
相关推荐
- Grails版本信息可以在项目的`BuildConfig.groovy`文件中找到。 **文档引擎** - 提供了文档生成工具,帮助开发者快速生成API文档。 **依赖解析** - Grails使用Ivy作为其依赖管理系统。 - 支持配置依赖关系,包括...
- **Domain Classes**:Grails中的领域类定义了数据库表结构,通过GORM自动创建表和字段。 - **Relationships**:支持一对一、一对多、多对多等关系映射,例如belongsTo、hasMany、hasOne等。 - **Criteria API**...
在Grails框架中,域模型(Domain Classes)是用于表示业务实体的对象,它们通常映射到数据库中的表。通过GORM(Grails Object Relational Mapping),Grails提供了自动的ORM支持,使得开发者无需编写复杂的SQL语句...
- Domain Classes:在Grails中,我们使用Domain Classes来定义数据模型。这些类是Groovy类,包含了属性和方法,它们自动与数据库表关联。 - GORM注解:我们可以使用注解如`@Entity`、`@Table`等来自定义数据表的...
- **Domain Classes**: Grails中的领域类是映射到数据库表的Groovy类,通过注解或配置来定义表结构。 - **CRUD操作**: GORM支持创建(Create)、读取(Retrieve)、更新(Update)和删除(Delete)等基本数据库操作。 - **...
第4章 grails中的域(domain) 4.1 简化的orm和grails对象关系映射(gorm) 4.2 gorm基础 4.3 设置属性可选 4.4 gorm中的关系 4.5 执行crud操作 4.5.1 创建书签 4.5.2 读取书签...
通过Domain Classes,开发者可以使用面向对象的方式定义数据模型,GORM会自动处理SQL查询和事务管理。 4. **Controllers与Actions**:Grails Controller是处理HTTP请求的核心组件,每个Controller可以包含多个...
1. **Domain Classes**:在Grails中,领域模型是业务逻辑的核心,代表了应用程序中的实体。在通讯录系统中,我们可以定义一个`Contact`领域类,包含姓名、电话、邮箱等属性,以及相应的操作方法。 2. **GORM...
GORM提供了对关系数据库的便捷操作,允许开发者以Groovy语法进行CRUD(创建、读取、更新、删除)操作,减少了与SQL打交道的繁琐。 在创建控制器时,Grails的拦截器(Filters)机制可以帮助我们实现通用的逻辑,如...
2. **聚合函数**:在Grails中,使用GORM可以方便地调用SQL的聚合函数,如`count()`,`sum()`,`avg()`等。例如,要获取某个表的总条数,可以使用`DomainClass.countByCondition()`,这里的`condition`是拼接好的查询...
根据给定的信息,本文将对Java相关的架构图进行详细的解读与分析,主要涵盖Spring、Hibernate、Struts(包括Struts1和Struts2)、JSF、Seam、Grails、DWR、J2EE、Oracle等技术栈的核心概念及其架构特点。 ### 1. ...