现在流行的 ssm(spring + struts2 + myBatis)  持久层的mybatis是需要配置映射器的,找了个demo连接的数据库MySQL 于是就修改了一下弄成了连接Oracle

一切就绪之后跑起来 执行插入操作的时候问题来了 ,报了一个这个错我的表是B 字段是id ,user_name ,password  实例类的字段是 id , userName,password,

这里有个user_name 和userName 搞了一下午弄的头疼,后来发现了猫腻,

There is no getter for property named 'USER_NAME' in 'class com.bky.model.B'

代码:

实体类 B

  1. package com.bky.model;
  2. public class B {
  3. private Long id;
  4. private String userName;
  5. private String password;
  6. public Long getId() {
  7. return id;
  8. }
  9. public void setId(Long id) {
  10. this.id = id == null ? null : id;
  11. }
  12. public String getUserName() {
  13. return userName;
  14. }
  15. public void setUserName(String userName) {
  16. this.userName = userName;
  17. }
  18. public String getPassword() {
  19. return password;
  20. }
  21. public void setPassword(String password) {
  22. this.password = password == null ? null : password.trim();
  23. }
  24. }

映射器.xml

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
  3. <mapper namespace="com.bky.dao.BMapper" >
  4. <resultMap id="BaseResultMap" type="com.bky.model.B" >
  5. <id column="ID" property="id" jdbcType="INTEGER" />
  6. <result column="USER_NAME" property="userName" jdbcType="VARCHAR" />
  7. <result column="PASSWORD" property="password" jdbcType="VARCHAR" />
  8. </resultMap>
  9. <sql id="Base_Column_List" >
  10. ID, USER_NAME, PASSWORD
  11. </sql>
  12. <insert id="insertSelective" parameterType="com.bky.model.B" >
  13. insert into B ( USER_NAME,PASSWORD) values(#{USER_NAME,jdbcType=VARCHAR},#{password,jdbcType=VARCHAR})
  14. </insert>
  15. <update id="updateByPrimaryKey" parameterType="com.bky.model.B" >
  16. update B set USER_NAME = #{USER_NAME,jdbcType=VARCHAR}, PASSWORD = #{PASSWORD,jdbcType=VARCHAR} where id = #{id,jdbcType=INTEGER}
  17. </update>
  18. <select id="getAll" resultMap="BaseResultMap"> SELECT * FROM B </select>
  19. </mapper>

错误写法如下

<insert id="insertSelective" parameterType="com.bky.model.B" >
insert into B ( USER_NAME,PASSWORD) values(#{USER_NAME,jdbcType=VARCHAR},#{password,jdbcType=VARCHAR}) 
</insert>

我们重点关注一下这里user_name 是个表字段和
后面的#{USER_NAME,jdbcType=VARCHAR} 这里错了,应该
写成#{userName,jdbcType=VARCHAR} 应该是属性值 
啊找的好苦啊 一下午就这样浪费了 不过还是解决了 ,
一开始百度了很多 有的人是属性名写错了,有的是没有set/get  
总结到此分享一下 有此情况错误的 一般就这几种了希望可以帮助到初学者

关于myBatis的问题There is no getter for property named 'USER_NAME' in 'class com.bky.model.实例类'的更多相关文章

  1. Mybatis问题:There is no getter for property named 'unitId' in 'class java.lang.String'

    Mybatis遇到的问题 问题: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.re ...

  2. mybatis 错误: There is no getter for property named '*' in 'class java.lang.String解决

    现象: mybatis mapper.xml 的sql里如果直接使用了想要传入的变量,比如: <select id="selectXx" resultType="i ...

  3. mybatis异常:There is no getter for property named 'xxx' in 'xxx'

    在使用mybatis查询的时候出现了下面的异常: org.apache.ibatis.reflection.ReflectionException: There is no getter for pr ...

  4. Mybatis报错: There is no getter for property named xxx

    在mapper文件中函数的形参上加上注解. 例如: 出现了如下错误:核心错误提示就是There is no getter for property named xxx     ### Error qu ...

  5. mybatis错误:There is no getter for property named 'delegate' in 'class com.sun.proxy.$Proxy某某'

    错误描述: There is no getter for property named 'delegate' in 'class com.sun.proxy.$Proxy32' 错误原因: 1.你有多 ...

  6. mybatis报错,There is no getter for property named 'templateName' in 'class

    There is no getter for property named 'templateName' in 'class 主要原因是因为mapper.xml 的语句有错误,导致在bean里找不到相 ...

  7. Mybatis 报错 There is no getter for property named '***' in 'class java.lang.String'

    在mapper.xml中 , 如果单参数是String类型 , 且在sql语句中对参数进行了判断 , 如下 when 中的判断 , 如果出现 if 判断也是一样的.都需要把判断中的参数用 _param ...

  8. There is no getter for property named 'userSpAndSp' in 'class com.uauth.beans.UserSpAndSp'

    mybatis 报错There is no getter for property named 'userSpAndSp' in 'class com.uauth.beans.UserSpAndSp' ...

  9. There is no getter for property named 'username' in 'class Model1.User'-----报错解决

    There is no getter for property named 'username' in 'class Model1.User' -----Model Model1.User'中没有名为 ...

随机推荐

  1. Python3 出现'ascii' codec can't encode characters问题

    当使用urllib.request.urlopen打开包含中文的链接时报错: from urllib import request url = 'https://baike.baidu.com/ite ...

  2. gitlab备份与还原

    1.备份 登录原服务器,执行命令: gitlab-rake gitlab:backup:create 备份后文件在如下目录,下载该文件 /var/opt/gitlab/backups 2.还原 先安装 ...

  3. IntelliJ IDEA 修改IDE字体、代码字体。

    IntelliJ IDEA 默认的 IDE 菜单字体太小,看着不舒服 ,我们调节下: ==============以上修改 仅仅针对的IDE字体,对代码的字体不生效. 所以如果代码 你觉得小 还得修改 ...

  4. MySQL学习笔记:新增一列

    1.在一个已建好的表中,最后一列位置添加一列,可使用: ALTER TABLE aa_numbers_small ADD COLUMN date_time DATE NOT NULL; 2.添加一列到 ...

  5. Firefox地址栏样式设定

    我希望把Firefox的界面调整为chrome-like,一个关键的地方就是地址栏:地址栏和tab之间的距离太大了,地址栏和页面本身之间的距离也太大. 设定方法是在FF中安装stylish插件,然后加 ...

  6. AndroidStudio3.0到3.1遇到的坑

    原文:https://blog.csdn.net/qq_36676433/article/details/80361064 本以为3.0到3.1仅仅是界面的优化,万万没想到的是这个坑比起2.0到3.0 ...

  7. hadoop 初探之第二篇(杂谈)

    NameNode:名称节点,主要功能在于实现保存文件元数据,这些元数据直接保存在内存中,为了保证元数据的持久性,而也会周期性的同步到磁盘上去.磁盘上的数据通常被称为元数据的映像数据 image fil ...

  8. day7 socket网络编程

    Python Socket网络编程 Socket是进程间通信的一种方式,它与其他进程间通信的一个主要不同是:它能实现不同主机间的进程间通信,我们网络上各种各样的服务大多都是基于Socket来完成通信的 ...

  9. CentOs 安装 swftools

    一 下载安装包 #wget http://www.swftools.org/swftools-0.9.1.tar.gz 二 安装相关依赖库 #yum install gcc* automake zli ...

  10. 富文本是在modal框中弹出显示的问题

    记录一下,在用tinymce富文本的时候,由于是用在modal 上的,始终无法获取焦点,后来才发现问题出在tinymce在modal前创建了,所以导致这个问题,解决方案就是用 v-if="v ...