UserMapper.xml配置:
<select id="findAll" resultType="User">
select id,uname,upass from u_user
</select>
<insert id="save" parameterType="User" >
<selectKey keyProperty="uid" resultType="int" order="BEFORE">
select nvl(max(id),0)+1 from u_user
</selectKey>
insert into u_user(id,uname,upass) values(#{uid},#{uname},#{upass})
</insert>
UserAction:
@RequestMapping(value="showuser")
public ModelAndView find(){
//先new一个ModelAndView对象
ModelAndView mav=new ModelAndView();
//以键值队的形式赋值 然后用对象调用方法
mav.addObject("user",user.findAll());
//要跳转的页面
mav.setViewName("list_user");
//return出来你new的对象
return mav;
}
//增加
@RequestMapping(value="saveuser")
public ModelAndView save(User u){
List<User> users=user.findAll();
String name =u.getUname();
int id = u.getUid();
System.out.println(id);
try {
byte[] b=name.getBytes("ISO-8859-1");
String str=new String(b,"utf-8");
u.setUname(str);
user.save(u);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return new ModelAndView("redirect:/showuser.do");
}
查询结果显示:

在使用SSM(Spring、SpringMVC、MyBatis)集成Oracle的项目中,遇到查询结果中用户ID始终显示为0的难题。问题出现在UserMapper.xml的配置上,特别是selectKey元素的使用,以及UserAction中的方法调用。在保存用户信息时,ID未正确生成和赋值,可能与ID生成策略和编码转换有关。

被折叠的 条评论
为什么被折叠?



