kglife developer's blog | our web,our life

十一/09

29

hibernate one to one 的实现

one to one 是一种数据库中的一对一的关系,比如在中国一个人只有一张身份证,人跟身份证就是一对一的关系,在hibernate中怎么实现这个做法了,这里数据库有两个 表,一个是user,一个是card,先为他们建一个对应的form类,在User类建一个 Card card对象,在Card类建一个User user对象,这样实现持久化中的你中有我,我中有你,hibernate当中肯定少不了的就是配置各个表的信息了。
以下是配置User表:
<hibernate-mapping>
        <class name=”org.tinna.User” table=”user”>
            <id name=”userid” type=”java.lang.Integer”>
                <column name=”userid” />
                <generator />
            </id>
            <property name=”username” type=”java.lang.String”>
                <column name=”username” length=”20″ />
            </property>
            <one-to-one name=”card” cascade=”all”></one-to-one>
        </class>
</hibernate-mapping>

配置Card表:
<hibernate-mapping>
        <class name=”org.tinna.Card” table=”card”>
            <id name=”cardid” type=”java.lang.Integer”>
                <column name=”cardid” />
                <generator >
                 <param name=”property”>user</param>
                </generator>
            </id>
            <property name=”cardnum” type=”java.lang.Integer”>
                <column name=”cardnum” />
            </property>
            <one-to-one [...]

Hide

十一/09

29

Struts中Invalid property name ”解决

在刷新页面的时候tomcat报了错,500,Invalid property name ‘limittime1′
后来发现,原来是xml文件里面对于form没有修改完整,怎么说呢,’limittime1′这个字段在javabean里面是有的,可是在form里面,配置form信息的时候就忘记了配置,如下:
<form-bean name=”bulletinForm” type=”org.apache.struts.action.DynaActionForm”>
     <form-property name=”limittime” type=”java.lang.String” />
   <form-property name=”content” type=”java.lang.String” />
要记住在Struts里面的form属性声明时。不要漏了应该有的字段,虽然说struts把提交好的form对象来回传递时自动的,可是自动也是建立在你的手动之上的呀~要记得部署好哦~
 
而且name是什么,在java里面去form对象字段值的时候就用哪个名,如下:
public ActionForward execute(ActionMapping mapping, ActionForm form0, HttpServletRequest request, HttpServletResponse response) throws Exception {
DynaActionForm form = (DynaActionForm)form0;
String limitTime = Charset.decode(form.getString(”limittime”));

Hide

十一/09

28

Struts+hibernate+mysql乱码处理

在hibernate连接数据库中加入
jdbc:mysql://localhost:3306/数据库名?useUnicode=true&amp;characterEncoding=UTF-8
为指定数据库默认编码格式。在C:\WINDOWS目录下找到my.ini文件,并在[mysqld]中加入default-character-set=gbk,重新启动mysql服务。

No tags Hide

1 针对firefox ie6 ie7的css样式
现在大部分都是用!important来hack,对于ie6和firefox测试可以正常显示,但是ie7对!important可以正确解释,会导致页面没按要求显示!找到一个针对IE7不错的hack方式就是使用“* html”,现在用IE7浏览一下,应该没有问题了。
现在写一个CSS可以这样:
#1 { color: #333; } /* Moz */
* html #1 { color: #666; } /* IE6 */
* html #1 { color: #999; } /* IE7 */
那么在firefox下字体颜色显示为#333,IE6下字体颜色显示为#666,IE7下字体颜色显示为#999。
2 css布局中的居中问题
主要的样式定义如下:

body {TEXT-ALIGN: center;}
#center { MARGIN-RIGHT: auto; MARGIN-LEFT: auto; }
说明:
首先在父级元素定义TEXT-ALIGN: center;这个的意思就是在父级元素内的内容居中;对于IE这样设定就已经可以了。
但在mozilla中不能居中。解决办法就是在子元素定义时候设定时再加上“MARGIN-RIGHT: auto;MARGIN-LEFT: auto; ”
需要说明的是,如果你想用这个方法使整个页面要居中,建议不要套在一个DIV里,你可以依次拆出多个div,只要在每个拆出的div里定义MARGIN-RIGHT: auto;MARGIN-LEFT: auto; 就可以了。
3  盒模型不同解释.

#box{
   width:600px;
        //for   ie6.0-   w\idth:500px;
       //for  ff ie6.0
}
#box{
   width:600px!important
            //for ff
    width:600px;
        //for  ff ie6.0
    width /**/:500px;
       [...]

, , , Hide

1、 用程序中,保证在实现功能的基础上,尽量减少对数据库的访问次数;通过搜索参数,尽量减少对表的访问行数,最小化结果集,从而减轻网络负担;能够分开的操作尽量分开处理,提高每次的响应速度;在数据窗口使用SQL时,尽量把使用的索引放在选择的首列;算法的结构尽量简单;在查询时,不要过多地使用通配符如SELECT * FROM T1语句,要用到几列就选择几列如:SELECT COL1,COL2 FROM T1;在可能的情况下尽量限制尽量结果集行数如:SELECT TOP 300 COL1,COL2,COL3 FROM T1,因为某些情况下用户是不需要那么多的数据的。不要在应用中使用数据库游标,游标是非常有用的工具,但比使用常规的、面向集的SQL语句需要更大的开销;按照特定顺序提取数据的查找。

, , , Hide

今晚朋友介绍了一个jquer的设计工具,废话不多说,先给出官方网站:

http://www.ixedit.com/

, , , , Hide

十一/09

9

加密地址

最近在开发的时候看见UCHOME的注册地址和登陆地址是随机产生的.正确的来说应该是加密了.

, , Hide

提高SQL执行效率的几点建议:
◆尽量不要在where中包含子查询;

, , Hide

十一/09

6

google项目管理(基于SVN)

SVN 解释:http://zh.wikipedia.org/wiki/Subversion

说白了就是一个代码 版本控制.

, Hide

十/09

17

五笔和拼音的选择

高中的时间学习了五笔,不过那时候一直都是打拼音的…
到了大学平时上网不用打字那么快就学着用五笔.
现在打五笔应该都比打拼音快了,可是还是有很多字不会打,所以有时候都不知道怎么选择好.
现在唯有五笔和拼音一起用了…

, , Hide

Older posts >>