Liny_@NotePad

沉迷ACG中

iBATIS2配置sqlMap statement时的返回类型。。

笔记下。。数据库中表字段与类属性不匹配时就需要自定义resultMap。。

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE sqlMap     
  3.     PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"     
  4.     "http://ibatis.apache.org/dtd/sql-map-2.dtd">
  5.  
  6. <sqlMap>
  7.  
  8.         <!-- 设定类型别名 -->
  9.         <typeAlias alias="Student" type="org.yoyo.model.Student" />
  10.  
  11.         <!-- 映射集合 -->
  12.         <resultMap id="Student" class="Student">
  13.                 <result property="id" column="sid" />
  14.                 <result property="name" column="name" />
  15.                 <result property="age" column="age" />
  16.                 <result property="major" column="major" />
  17.         </resultMap>
  18.  
  19.         <!-- 查询语句 -->
  20.         <select id="queryAllStudents" resultMap="Student">
  21.                 SELECT * FROM Student
  22.         </select>
  23.  
  24. </sqlMap>

最后这个select语句,如果定义的是resultClass="Student",则会匹配org.yoyo.model.Student(typeAlias里定义的别名真实类型)。
此时sid找不到匹配的属性,就无法获取,因此用resultMap="Student",此时sid会匹配到属性id去。

p.s. iBATIS2的配置真是巨多啊啊啊囧好恐怖……

残念。。关于HashSet与MultiSet

对于自定义对象来说,hashCode方法本来就是返回对象的内存地址,实际上是存储multi嘛 囧rz……

但是,怎样查找equals相同但hashCode不同的元素???囧rz 估计还是要自己重写吧……

对于封装类就连放入都米办法了,它们是final类,可能用组合的方法重新写一个类比较方便吧 Orz

SCJP复习笔记之Math中的方法

先只记几个舍入的……

  • ceil  向上取整(ceil(-.01) = 0)
  • floor 向下取整(floor(-.01)= -1)
  • round 四舍五入:实现方式是floor(arg + 0.5)
    round(0.49) = 0, round(0.50) = 1, round(0.51) = 1
    round(-0.49) = 0, round(-0.50) = 0, round(-0.51) = -1

OGRE中使用粒子系统

由于环境出了问题,CEGUI无法正常 囧 于是我改封装粒子。。

找到一个不错的编辑器:http://www.game-cat.com/ogre/pe/ParticleEditor_Beta.zip

但是要注意这个编辑器生成的particle文件,各个ParticleSystem前面要加上particle_system,否则1.6的OGRE无法读取(1.4的OGRE支持)。
如:particle_system Examples/Smoke

将粒子脚本和粒子用到的纹理都放到resources.cfg指定过的目录下

使用语句:

  1. ParticleSystem* particle= mSceneMgr->createParticleSystem("test", "Examples/smoke");
  2. mSceneMgr->getRootSceneNode()->createChildSceneNode()->attachObject(particle);

即可添加一个粒子系统。

这里createParticleSystem的第一个参数是粒子系统名(相当于map-key吧,以后可以通过该值从SceneManager的getParticleSystem方法读取已创建的粒子系统);
第二个参数则是粒子系统在.particle文件中定义的名字。OGRE会搜索所有资源目录中的.particle去找是否有该资源。

利用Rational Rose进行C++代码和数据库结构分析

懒得转 贴链接:http://www.uml.org.cn/UMLTools/200607123.htm

想必其他语言的逆向过程也差不多吧 = =

VMware虚拟机共享上网与文件夹。。

与主机共享上网:

由于使用电信。。只有一个外网ip,因此对虚拟机网卡设置NAT,
同时启用本地连接的共享(家庭网络选择VMnet8),设置虚拟机的连接IP\DNS自动获得即可。
要注意的是两个服务必须开启:VMware DHCP Service 和VMware NAT Service。

访问主机的共享文件夹:

和BRIDGE/host-only的步骤一样,先在setting中设置共享文件夹,
装个VMware Tools,就可以在网上邻居里可用的网络中找到VMware Shared Folders,到里面找即可。。
不过如果你装了VMware Tools,直接拖到虚拟机里面也可以 囧。

Tomcat JSP编译器的配置参数。。

今天看到某娃写装JBOSS的步骤,提到要用JDK。才想起似乎的确是要将jsp编译。
那么我有次装tomcat的时候只装了JRE,为什么也能正常执行jsp?莫非tomcat内置了一个编译器?

查了下果然如此。Tomcat内置了Jasper,它可以编译JSP。但是它的版本应该是固定的,不知道默认用的是哪个版本编译?

百度了些资料,原来可以在conf/web.xml中进行配置。

在eclipse中使用断言(assert)\输入控制台参数。。

我们知道使用断言要在运行时加上参数-ea才行。。

方法很简单。。项目属性-Run/Debug Settings,对需要assert的项目编辑,在arguments的VM arguments里面加上-ea即可。

同理的,如果需要输入程序参数,则在Program arguments里面输入你要代入的参数即可。