您的位置:首页 > 编程语言 > Java开发

Spring+SpringMVC+MyBatis遇到的所有问题汇总

2015-10-22 17:54 387 查看
整合所需所有jar包:http://download.csdn.net/detail/u013758756/9204049

数据库问题:
1、oracle数据库中建立USER表或者字段为UID时需要添加”“引号,因USER是oracle表中关键字。查询的时候USER和UID也都要添加引号。
例如; CREATE TABLE "USER"(
"UID" NUMBER(3) PRIMARY KEY,
UPassWord varchar(20) not null,
UName varchar(10) not null,
ULogURL varchar(20),
UPhone varchar(15),
UType char(2),
UBalance number(5,2)
);
   SELECT * FROM "USER" WHERE "UID"=1;  
2、oracle实现字段自动增长需要建立序列,添加触发器
--创建自增长序列
CREATE SEQUENCE UserIncrease_Sequence
INCREMENT BY 1   -- 每次加几个  
    START WITH 1     -- 从1开始计数  
    NOMAXVALUE       -- 不设置最大值  
    NOCYCLE          -- 一直累加,不循环  
    CACHE 10; 

--创建触发器
CREATE or replace TRIGGER User_Increase BEFORE
insert ON  "User" FOR EACH ROW
begin
select UserIncrease_Sequence.nextval into:New.UID from dual;
end;
COMMIT;
3、oracle中的varchar类型数据无法匹配Java中的String类型数据,varchar2可以匹配String类型。

MyBaits中的问题:
1、数据库查询出来的字段类型要和封装对象的类型要一致。
2、${UID}和#{UID}是不一样的,${}解析穿过来的参数值不带单引号,#{}解析传过来参数带单引号。
3、  <if test="UName != null">中,“!=”是不等号,是一个判断符号,中间不能有空格。
4、<delete>标签不配resultType=""参数,但又返回值是数据库中改变的行数。
5、xxMapper.java要和xxMapper.xml要同包同名。其中xxMapper.java 为接口,只写方法,方法名要和xxMapper.xml 中定义的id一致。

中文乱码问题:
前台通过ajax想后台请求数据之后,后台通过@ResponseBody返回非.jsp,.html等数据格式文件时因org.springframework.http.converter.StringHttpMessageConverter累
中的默认编码方式是iso8859-1而导致UTF-8编码的数据引起中文乱码。
解决问题需要添加一下配置更改编码方式为UTF-8编码(注意SpringMVC版本问题,在3.0版本中不可用,4.2版本可用,下载链接:http://download.csdn.net/detail/u013758756/9204049)
<!-- 注解解析器 -->
<mvc:annotation-driven>
<mvc:message-converters register-defaults="true">
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
 <property name="supportedMediaTypes" value="text/html;charset=UTF-8"/>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>

关于jar包找不到问题:
jar包要放在/WEB-INF/lib目录下。

随着项目进展正在更新中……
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java spring mvc mybatis