- 浏览: 21306 次
- 性别:
- 来自: 黑龙江
最新评论
-
苦逼的程序员:
有人用,我很喜欢
Grails 的一个错误:a different object with the same identifier value ... -
qixin000:
天涯海角tour 写道如果加入缓存的话还可以分页面吗,能查询到 ...
Grails插件MyBatis分页设计 -
天涯海角tour:
如果加入缓存的话还可以分页面吗,能查询到第二页面吗?
Grails插件MyBatis分页设计 -
spe294096580:
gggg
Grails的dataSource通过属性文件配置
文章列表
这是一个hibernate中的错误:a different object with the same identifier value was already associated with the session
grails程序开发过程中不知道动了哪里,导致了上述问题的产生,网上有的说使用merge,refresh,clear来解决问题,但,实际上都没有真正解决问题,要找到产生问题的原因才行,否则,一个地方使用merge但是其他地方又出现了问题,还有的地方改成merge之后,还出现了乐观锁问题!
最后,没有办法,使用了我的无敌必杀技,排除法,把我最近的版本文件一个一个的移除,最终找到了问题 ...
在系统中经常要接收各方面的指令,解析指令后,交付一个处理程序进行统一处理,在这种情况下,如何系统设计不合理,就会出现众多的if-else,代码混乱不易扩展维护,所以采用职责链模式比较适合了!
例如,游戏中可能接受硬件指令,网络指令,手机指令,甚至其他,这都需要统一设计处理程序。
职责链模式本身比较简单。
但是要注意他和Filter模式的区别,Filter模式在处理指令时,是所有队列里面的所有filter处理器都会对指令进行处理。
职责链模式在处理指令的时候是:只要一个处理器处理了,那么程序就返回了,不继续处理了。
职责链基类
public abstract class ActionCh ...
本设计不通用,只针对特定的一类问题。
如果系统经常和多种端口打交道,例如:COM,TCP,UDP,短信,打印机等等外接端口通讯,那么可以这样设计。
每种通讯方式都是类似,连接,打开端口,接收和发送数据,解析数据给系统。
所以可以统一起来进行设计,这样扩充端口更加容易。
使用C#语言描述
public delegate void GameEventDelegate(object sender, Action action);
//
public class Action : EventArgs
{
public PlayPort Receiver ...
游戏通常都是一个死循环
1)状态模式的应用
循环中,处理程序中的不同状态问题,统一设计,采用状态模式
2)职责链模式的应用
处理每一个状态中,处理不同指令问题
3)端口的统一设计
处理系统中与不同端口通信问题:COM,TCP/UDP,Logic虚拟逻辑端口,与界面通信
模式的采用使维护扩展容易。
过后写点实际的代码,供参考。
通过命令grails install-plugin ibatis 可以安装mybatis插件
但是由于访问外国网站的缘故,可能很长时间也装不上。
所以建议采用本地安装的方法。
1)在工程路径下执行grails install-plugin ibatis
查看上述命令提示的网址下载grails-ibatis-1.3.1.zip包
2)然后在工程目录下执行以下命令
grails install-plugin 你的路径/grails-ibatis-1.3.1.zip
安装过程中会继续提示下载mybatis-3.0.4.jar,同样手动使用迅雷等工具把这个也下载到本地
3)复制mybatis-3 ...
Grails插件MyBaits使用时命令 grails create-gateway Client会生成两个文件 client.xml和ClientGateway.groovy,但是这个Gateway不能通过在一个controller或者services里面写属性的形式注入,例如属性写成
clientGateway
def clientGateway; //本该自动注入,但是无效
def list2 = {
RowBounds rowBounds = new RowBounds(1,2);
HashMap map = new HashM ...
新的MyBatis比老的Ibatis有了个新的东东Plugin,在配置文件中
<configuration>
<settings>
<setting name="cacheEnabled" value="true"/>
</settings>
<plugins>
<plugin interceptor="store.MySqlPaginationPlugin"/>
</plug ...
//groovy代码,自动导入的类只有一个,所以按照idea的提示,不好用,两个都要加上。
import org.springframework.core.io.support.PropertiesLoaderUtils
import org.springframework.core.io.ClassPathResource
def properties = PropertiesLoaderUtils.loadProperties(new ClassPathResource("database.properties"))
dataSource {
...
不写标题,实际上代码都是执行了的,但是页面啥也看不到,一片白茫茫
把title的内容写上吧!!!!
<%@ page import="store.Client" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="layout" content="main&q ...
Grails通过命令安装的iBATIS插件版本有些老,有些小限制,不能使用MyBATIS的Configuration.xml,建立的gateway里面的函数都是动态根据xml mapper文件自动生成的,如果想自己写,缺少SqlSession的注入
针对这些情况可以自己修改一下
1) MyBatis的很多配置功能无法全面利用,例如别名,MyBatis插件,环境信息,缓存等,要利用MyBatis的所有配置功能,添加对配置文件的支持
def doWithSpring = {
def ssfb = sqlSesssionFactoryBean(org.mybatis.s ...