- 浏览: 22520 次
- 性别:
- 来自: 北京
最新评论
-
karamay2010:
...
搭建Grails开发环境
文章列表
问题背景
项目中使用了hibernate来做ORM,当项目启动的时候需要把所有的数据加载到内存当中作为缓存和索引。日常开发中一切正常,导入正式数据测试时,由于数据量骤增,启动速度变得很慢,启动一次需要1个多时。其中大部分时间是hiberate在跟数据库交互,于是准备跟hibernate要效率。
备选方案
经过研究,初步定义以下两种方案:
1.优化hibernate的SQL查询:日志中出现了大量的hibernate 打的SQL,而且很多都是在进行关联查询的时候打出来的SQL,如果是自己写SQL查询的话可以用一条SQL查出来再封装就可以,而hibernate进行了多次查询,降低 ...
当前进程数
select count(*) from v$process
系统设置的最大进程数
select name,value from v$parameter where name='processes'
当前会话数
select count(*) from v$session
系统自身使用的会话数
select count(*) from x$ksuse where bitand(ksspaflg,1) !=0
1.ORA 1653
错误形如:
ORA-1653: unable to extend table ......
表明表空间不足,可以考虑扩展表空间
alter database datafile 'C:\SDE.DBF' resize 2G
C:\SDE.DBF为数据库表空间文件,2G是设置表空间大小为2G,当前也可以用M做单位,不知道文件位置的可以用下边语句查看
select * from dba_data_files
对于临时表空间的,可以采用替换的方式。
先新建表空间
create bigfile ...
Grails的controller开发
- 博客分类:
- grails
1.建立Controller
①建立一个空的Controller,输入框里输入名称(系统自动在其名字后加上Controller)
②生成一个普通增删改的controller,不带GSP,输入框里输入domain的类全名
③生成增删改查的controller,带gsp,输入框里输入domain的类全名。
若选①,则生成出这样一个Controller:
package edu.ming
class TestCController {
def index() { }
}
index是默认的方法,访问controller的格式如下:
/ ...
Grails的数据库相关开发
- 博客分类:
- grails
1.开发domain和service
在出来的输入框里输入domain的名字,可以包括包名。
这里我输入test.domain.House,点finish
创建了两个groovy文件,一个当然是test.domain.House.groovy,另一个是test.domain.HouseTests.groovy.
先说test.domain.House.groovy。这个就是传说中的POGO。Grails会在运行时给他注入很多方法。
现在给他增加两个属性:
package test.domain
class House {
String name
...
Grails的services开发
- 博客分类:
- grails
1.普通service的开发
新建一个service
弹出的输入框中可以输入包名+类名,注意IDE会自动给类名后边加上Service,例如:输入com.xx.Abc,生成的service命名就是com.xx.AbcService。也可以输入Domain的类命名(可用Alt + /提示),生成的类名为domain的类名加service
生成两个文件,一个是测试类,一个是服务类。
在生成的测试类里写些测试代码
@TestFor(TestService)
class TestServiceTests {
void testSomething() {
ass ...
搭建Grails开发环境
- 博客分类:
- grails
1.IDE搭建
使用SpringSource Tool Suite ,目前版本2.9.0,下载地址:http://www.springsource.org/downloads/sts,应该算是官方IDE吧。
安装或解压后打开(注:需要JVM的安装,配置好环境变量或更改STS.ini文件),选择 Install Extension
如下 ...