spring+hibernate+mysql软件开发注意事项

最近,做了一个项目,用的是spring+hibernate+mysql。在开发系统的过程中,遇到了很多情况,在这里给大家分享一下。

1,MySql数据库乱码的问题。

中国的程序员常常遇见乱码的问题,因为很多软件开发工具都是外国人写的。有些乱码很好解决,如浏览器,myEclipse,java虚拟机。但是,有些乱码则常常让人头疼。由于我的整个系统的编码方式都设置的是utf8,所以我也将我的数据库的编码方式都设置为utf8,这是很符合道理的,编码要统一吗。但是当我这样做了之后,从数据库控制台插入中文数据后,浏览器和myEclipse后台都显示乱码。经过一番的摸索后才知道,mySql控制台的输入数据编码方式是gbk,这让被gbk方式编码的数据,在数据库中又被utf8编码了一次,最终导致了乱码。这让我感到为难了,系统其他设置都是utf8,难道说都要改为gbk吗?后来考虑到utf8兼容gbk,便怀着试试看的心情,只将数据库的编码方式改为gbk,在调试一下系统,成功了。

成功解决了一个表的乱码问题(原因是这个表我重新建立的,并在建立的过程中,设置了utf8编码方式),但是其他表不成功。后来才知道,在建表的时候,一定不要忘了设置编码方式。我在建表时,没有设置,系统采用了默认的编码方式latin1。我用可视化建表工具重新设置表格的编码方式为utf8,重新调试还是不行。最后,将原有的表格删除,重新建表,并在建表时设置编码方式为utf8,再调试一下,成功了。


2,spring的问题

当我把我的新项目部署好后,调试程序,后台总是报错。显示是配置文件的错误,这个错误的原因就是我把同样用spring+hibernate+mysql环境开发的项目与正在开发的项目同时运行了,后来把以前的旧项目删除了,调试成功。

3,Hibernate的问题

我是用工具自动生成的hibernate实体配置文件,里面的文件中的


<id
name="departmentId"
type="java.lang.String"
column="departmentId"
>
<meta attribute="field-description">
@hibernate.id
generator-class="assigned"
type="java.lang.String"
column="departmentId"


</meta>
<generator class="assigned" />
</id>

非常关键,处理不好,就不能插入数据。有一个实体无论我改成什么样的主键生成类型包括:identity,native都不能插入主键,并报错。后来索性将generator-class="assigned"
和<generator class="assigned" />删除了,再调试成功了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值