mybatis中类属性和数据表字段不一致的解决方法

来源:互联网 发布:电脑软件设计师 编辑:程序博客网 时间:2024/06/08 05:55

这几天一直在探究mybaits    简单的操作基本掌握了  但是如果数据库中的表名和实体类的类名中的字段 名称不一样  就会造成空指针异常

但是你打印集合中是否有元素 它会显示 有元素 但是如果继续输出属性就会报空指针异常

类的映射文件

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper  PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN" 
      "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd"> 
<mapper namespace="com.dragon.entity.User">
 <!-- 配置orm映射  确保数据库中的列能和bean中的列相对应  -->
 <resultMap type="User" id="user_orm">
  <id property="userId" column="user_id"/>
  <result property="userName" column="user_name"></result>
  <result property="userPassword"  column="user_password"></result>
 </resultMap>
 <!-- 查询语句 -->
 <select id="selectAll_user" parameterType="User" resultMap="user_orm" >
  SELECT user_id ,user_name ,user_password  FROM UserInfo
 </select>
 
</mapper>

只要设置两个属性相关联 返回的resultMap相关连就可以了
类的属性

package com.dragon.entity;

import java.io.Serializable;
/**
 * 用户实体类
 * @author Administrator
 *
 */
public class User implements Serializable {
 public int getUserId() {
  return userId;
 }
 public void setUserId(int userId) {
  this.userId = userId;
 }
 public String getUserName() {
  return userName;
 }
 public void setUserName(String userName) {
  this.userName = userName;
 }
 public String getUserPassword() {
  return userPassword;
 }
 public void setUserPassword(String userPassword) {
  this.userPassword = userPassword;
 }
 public static long getSerialversionuid() {
  return serialVersionUID;
 }
 /**
  *
  */
 private static final long serialVersionUID = 1L;
 private int userId;
 private String userName;
 private String userPassword;
 public User() {
  super();
 }
}


数据库中的表的字段

---------创建表
CREATE TABLE UserInfo (
   user_id number(5) primary key not null,
   user_name nvarchar2(50) not null,
   user_password nvarchar2(50)
   );
commit;

insert into UserInfo values(1,'1001','111111');
insert into UserInfo values(2,'1002','111111');
insert into UserInfo values(3,'1003','111111');
insert into UserInfo values(4,'1004','111111');
insert into UserInfo values(5,'1005','111111');
commit;

 SELECT * FROM UserInfo;
 



0 0
原创粉丝点击