`

使用myBatis时要注意对象属性与表字段要对应

 
阅读更多
这几天与一个小网站系统,发现用户在线修改密码时失败。然后debug进去,发现从数据库中查询出来的密码是null,而用工具查表其实密码是有值的。然后进一步查找user.xml文件,发现在表字段中定义的是:

UserPassword varchar(100),#密码


User.java中的密码是这样的:
    /**
     * 登录密码
     */
    private String pwd;



当查询返回结果是带个对象时,myBatis会有一个resultType=user,这个时候他会自动去映射到对象的属性,这个时候即便UserPassword有值,但是还是无法映射到pwd当中的,所以造成了前面描述的问题。

结论:以后如果用myBatis做orm的话,model里面的属性要与表字段一致(大小写可以不一致)
分享到:
评论
1 楼 无双Rama 2015-03-16  
查询:数据-》xml-》POJO的setter
插入:POJO的getter-》xml-》数据库

相关推荐

    MyBatis表字段名与实体属性名不一致-src.zip

    在使用MyBatis框架进行Java开发时,常常会遇到数据库表字段名与实体类属性名不一致的情况。这种情况通常是因为数据库设计规范与编程语言的命名习惯不同,或者是为了避免SQL注入等问题而采取的措施。本压缩包文件...

    MyBatis--解决字段名与实体类属性名不相同的冲突--源代码

    在使用MyBatis进行数据持久化操作时,有时会遇到数据库表字段名与Java实体类属性名不一致的情况。这可能会导致映射问题,影响到数据的正常读写。为了解决这种冲突,MyBatis提供了一些灵活的映射机制。下面我们将详细...

    mybatis_jar包

    3. 映射文件:Mybatis 使用XML或注解进行映射,将数据库表字段与Java对象属性进行映射,便于数据操作。 4. 动态SQL:Mybatis 提供了强大的动态SQL支持,可以避免大量模板式的代码。 5. 事务管理:Mybatis 支持手动和...

    Mybatis代码生成工具

    在开发过程中,Mybatis代码生成工具通常基于数据库表结构自动生成对应的Java实体类(Model),这些类包含了表字段对应的属性,并提供了getter和setter方法。同时,它还会生成对应的Mapper XML文件,包含SQL查询语句...

    mybatis-plus及分布式项目简介1

    这包括对象的属性与表字段的一一对应,以及公共接口的CURD操作。例如,新增数据的SQL可以通过对象的属性自动生成,删除数据的接口方法可以直接转化为对应的SQL语句。 **4. Mybatis-Plus的介绍** MyBatis-Plus是一...

    mybatis代码生成器

    生成的实体类通常包含属性(对应表字段)和getter/setter方法,用于封装数据。这些类是贫血模型,不包含业务逻辑,主要用来在不同层之间传输数据。 DAO(Data Access Object)数据访问对象是MyBatis的核心组件之一...

    mybatis基础分页,高级查询

    映射文件(通常是 *.xml 格式)则是 SQL 语句的存储地,通过 `<mapper>` 标签定义映射关系,将 Java 对象与数据库表字段一一对应。在描述中提到了简单的 Servlet,这可能意味着项目使用了传统的 MVC 架构,Servlet ...

    Mybatis实例

    它的核心理念是将SQL语句与Java代码分离,提供了一种灵活的映射机制,可以将数据库表字段与Java对象属性进行绑定,使得数据库操作更为便捷。 2. **Mybatis的基本组件** - **配置文件**:Mybatis的配置文件中包含了...

    Mybatis学习文档

    3. 创建与数据库表对应的实体类(POJO),每个属性对应表字段。 4. 编写 SQL 映射文件(例如 user.xml),定义 SQL 语句及映射规则。 5. 编写 Mapper 接口,声明 SQL 方法。 6. 在 Java 代码中,通过 SqlSession ...

    mybatis-plus案例

    通过配置生成器的参数,指定数据源、目标包路径等,执行后即可得到与数据库表字段一一对应的实体类,这些类包含了字段注解,方便后续的映射操作。 4. **Mapper接口生成** 同样,Mybatis-Plus也能生成对应的Mapper...

    mybatis实体类自动生成工具

    1. **属性**:与数据库表字段一一对应的私有属性,数据类型与数据库中的列类型相对应。 2. **getter和setter方法**:用于获取和设置属性值,遵循JavaBean规范。 3. **注解**:如`@Table`表示实体类所对应的数据库...

    mybatis全局参数.docx

    5. `autoMappingBehavior`:这个参数定义了数据表字段与对象属性的自动映射级别。有三种可选值: - NONE:禁止所有自动映射,所有映射都需要手动配置。 - PARTIAL:部分自动映射,只对简单的、非嵌套的结果进行...

    MyBatis Generator Tool工具以及使用方法

    - **实体类(Entity)**:对应数据库中的表,包含表字段的属性和getter/setter方法。 - **Mapper接口(Mapper Interface)**:提供CRUD操作的方法签名,这些方法会被MyBatis自动绑定到对应的XML映射文件。 - **...

    mybatis反向生成类工具Mybatis-Generator.rar

    生成的Java实体类通常包含与数据库表字段对应的属性,以及getter和setter方法。Mapper接口则包含了与数据库交互的SQL语句,这些SQL语句在XML配置文件中定义,可以是简单的CRUD操作,也可以是复杂的查询。使用Mybatis...

    Mybatis自动生成工具

    在Mybatis中,实体类通常包含与数据库表字段相对应的属性,并且使用getter和setter方法。自动生成的实体类方便开发者直接操作对象,而不是直接与数据库交互。 4. **数据访问对象(DAO)**: DAO接口定义了对数据库...

    springboot+mybatis项目demo

    我们需要为"table"表创建一个对应的Java类,包含与表字段相对应的属性,并使用注解(如`@Table`和`@Id`)进行标记,方便MyBatis映射。 5. **Mapper接口和XML文件** 创建一个Mapper接口,接口方法对应SQL操作,例如...

    mybatis.rar

    Entity 类是 Java 中用来封装数据库表中一行数据的对象,通常包含与表字段一一对应的属性,并通过注解或配置文件映射到数据库字段。MyBatis 代码生成器会根据数据库表结构自动生成 Entity 类,包括属性、getter 和 ...

    Mybatis快速生成实体类和mapperAndXml

    在Mybatis中,实体类的属性与表字段一一对应,这样可以方便地进行对象与数据之间的映射。利用这个工具,你可以快速生成带有注解的实体类,比如`@Table`,`@Id`,`@Column`等,这些注解有助于Mybatis理解如何进行ORM...

    mybatis3-generator

    1. **Model类**:Model类是与数据库表字段相对应的Java对象,MBG会根据表结构自动生成对应的属性和getter/setter方法。这样,开发者在处理数据时可以直接操作Model对象,而无需关心底层数据库表的细节。 2. **...

Global site tag (gtag.js) - Google Analytics