2009年3月

最近做了个小网站 商品、文章管理和一些小功能等等。 算是第一次正式使用mysql,5.0.27版本的。试用过mysql-front,但是觉得不好用,这里分享一个不错的图形界面工具 Navicat for mysql;
总结下开发过程中遇到的问题和解决方法。
1 hibarnate双向一对多的关系配置
首先是关系 A (1 : N ) B
A.hbm.xml配置如下:
<set name="A" inverse="true" lazy="true" cascade="all">
<key column="关联A的数据库字段"></key>
<one-to-many class="XXX.XXX.XXX.B"/>
</set>
B.hbm.xml配置如下:
<many-to-one name="A"
class="XXX.XXX.XXX.A" update="true"
cascade="none" column="关联A的数据库字段" />

这里要把B中关联A的属性映射及定义删掉 否则会报重复XX的错误

最大的好处是级联更新,简化了开发。

2 hibernate 配置连接池解决 mysql连接超时的问题
这次使用了C3P0连接池 和自带的DBCP连接池还是有些不同的,主要是属性方面的
比如driverClass 和 driverClassName等
下面是具体配置:
<bean id="XX"
class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass"
value="com.mysql.jdbc.Driver">
</property>
<property name="jdbcUrl"
value="jdbc:mysql://XXX.XXX.XXX:3306/数据库名称?
characterEncoding=utf-8">
</property>
<property name="user" value=""></property>
<property name="password" value=""></property>
<property name="minPoolSize" value="5"></property>
<property name="maxPoolSize" value="20"></property>
<property name="maxIdleTime" value="1800"></property>
<property name="maxStatements" value="50"></property>
</bean>

3 上传图片路径问题 虚拟主机路径
第一次租用虚拟主机 平时用到设置servletcontext.getRealPaht()等等也不能用了
只好用映射过的绝对路径

4 el 比较字符串 3目运算
早先写的格式不是很规范 虽然能用但是页面存在警告
${requestScope.XX.XX == "" ? "" : ""} 这是不规范的
<c:choose>
<c:when test="${requestScope.XX.XX == ''}" ></c:when>
<c:ohterwise></c:otherwise>
</c:choose>

5 迭代器问题 这里引用一段文字
"当使用 fail-fast iterator 对 Collection 或 Map 进行迭代操作过程中尝试直接修改 Collection / Map 的内容时,即使是在单线程下运行, java.util.ConcurrentModificationException 异常也将被抛出。
Iterator 是工作在一个独立的线程中,并且拥有一个 mutex 锁。 Iterator 被创建之后会建立一个指向原来对象的单链索引表,当原来的对象数量发生变化时,这个索引表的内容不会同步改变,所以当索引指针往后移动的时候就找不到要迭代的对象,所以按照 fail-fast 原则 Iterator 会马上抛出 java.util.ConcurrentModificationException 异常。
所以 Iterator 在工作的时候是不允许被迭代的对象被改变的。但你可以使用 Iterator 本身的方法 remove() 来删除对象, Iterator.remove() 方法会在删除当前迭代对象的同时维护索引的一致性。"
项目里面用了hashtable ,迭代的时候需要把某些数据删除,很自然的用
对象.remove(key),结果报错。
改成 iter.remove() 一切正常。

暂时只想到这些 其他的有时间再续
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值