mybatis查询结果字段与实体类中对应的字段名不相同

实体类

package com.example.main.domain;

import java.util.Date;

public class User {
    private Integer MU_ID;

    private String MU_NO;

    private String MU_NAME;

    private Integer MI_ID;

    private Integer MR_ID;

    private String MU_PASSWORD;

    private String DEL_FLAG;

    private Date ADD_DATETIME;

    private String ADD_USER;

    private Date UPD_DATETIME;

    private String UPD_USER;

    private Date DEL_DATETIME;

    private String DEL_USER;

    public Integer getMU_ID() {
        return MU_ID;
    }

    public void setMU_ID(Integer MU_ID) {
        this.MU_ID = MU_ID;
    }

    public String getMU_NO() {
        return MU_NO;
    }

    public void setMU_NO(String MU_NO) {
        this.MU_NO = MU_NO;
    }

    public String getMU_NAME() {
        return MU_NAME;
    }

    public void setMU_NAME(String MU_NAME) {
        this.MU_NAME = MU_NAME;
    }

    public Integer getMI_ID() {
        return MI_ID;
    }

    public void setMI_ID(Integer MI_ID) {
        this.MI_ID = MI_ID;
    }

    public Integer getMR_ID() {
        return MR_ID;
    }

    public void setMR_ID(Integer MR_ID) {
        this.MR_ID = MR_ID;
    }

    public String getMU_PASSWORD() {
        return MU_PASSWORD;
    }

    public void setMU_PASSWORD(String MU_PASSWORD) {
        this.MU_PASSWORD = MU_PASSWORD;
    }

    public String getDEL_FLAG() {
        return DEL_FLAG;
    }

    public void setDEL_FLAG(String DEL_FLAG) {
        this.DEL_FLAG = DEL_FLAG;
    }

    public Date getADD_DATETIME() {
        return ADD_DATETIME;
    }

    public void setADD_DATETIME(Date ADD_DATETIME) {
        this.ADD_DATETIME = ADD_DATETIME;
    }

    public String getADD_USER() {
        return ADD_USER;
    }

    public void setADD_USER(String ADD_USER) {
        this.ADD_USER = ADD_USER;
    }

    public Date getUPD_DATETIME() {
        return UPD_DATETIME;
    }

    public void setUPD_DATETIME(Date UPD_DATETIME) {
        this.UPD_DATETIME = UPD_DATETIME;
    }

    public String getUPD_USER() {
        return UPD_USER;
    }

    public void setUPD_USER(String UPD_USER) {
        this.UPD_USER = UPD_USER;
    }

    public Date getDEL_DATETIME() {
        return DEL_DATETIME;
    }

    public void setDEL_DATETIME(Date DEL_DATETIME) {
        this.DEL_DATETIME = DEL_DATETIME;
    }

    public String getDEL_USER() {
        return DEL_USER;
    }

    public void setDEL_USER(String DEL_USER) {
        this.DEL_USER = DEL_USER;
    }
}

表的字段名
图片说明

查询出来的数据
[{"del_FLAG":"0","add_DATETIME":"2019-04-26T12:21:33.000+0000","mr_ID":1,"add_USER":"s","upd_DATETIME":"2019-04-03T12:21:50.000+0000","del_DATETIME":"2019-04-10T12:21:43.000+0000","upd_USER":"adad","del_USER":"dada","mu_PASSWORD":"123456","mu_ID":1,"mu_NO":"95927","mi_ID":1,"mu_NAME":"admin"},{"del_FLAG":"0","add_DATETIME":null,"mr_ID":1,"add_USER":null,"upd_DATETIME":null,"del_DATETIME":null,"upd_USER":null,"del_USER":null,"mu_PASSWORD":"123456","mu_ID":2,"mu_NO":"95544","mi_ID":1,"mu_NAME":"dada"}]

为什么下划线前面的字段会变成小写 有什么办法能变成大写吗

1个回答

将查回来的字段和java实体做个映射

    <resultMap id="BaseResultMap" type="com.example.main.domain.User">
        <id column="mu_ID" property="MU_ID" jdbcType="INTEGER"/>
        <result column="mu_NO" property="MU_NO" jdbcType="VARCHAR"/>
    </resultMap>
    <sql id="Base_Column_List">
        mu_ID, mu_NO
    </sql>
    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer">
        select
        <include refid="Base_Column_List"/>
        from user
        where mu_ID = #{MU_ID,jdbcType=INTEGER}
    </select>
weixin_42094216
weixin_42094216 谢谢
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Python+OpenCV计算机视觉

Python+OpenCV计算机视觉

SpringBoot + MyBatis 内部实体类属性与数据库的对应关系

pojo 类 ``` //部门表 @Repository public class Department { private Integer id; private String departmentName; ``` ---- ``` //员工表 public class Employee { private Integer id; private String name; private String email; private Integer gender;//0 女 1男 private Department department; private Date birth; ``` 员工表中有个属性为Department ,员工表中department列该如何设计 整合Mybatis 时 EmployeeMapper.xml department 属性与 数据库对应列关系hai能自动关联么

mybatis 查询的字段为空,返回的实体对象没有改属性

sql语句如下 select id, name,age from table ; 如果age为空,则实体不显示该属性,有值才会显示。 开始返回类型resultType不行, 改成了resultMap 说明一点,查询的列和属性命名都是统一,网上说的设置一个call-setters-on-nulls 也没有用

Mybatis查询的字符串字段的顺序有些是逆序

下图是后台mybatis的返回值 ![图片说明](https://img-ask.csdn.net/upload/201809/20/1537437709_843437.png) 下图是数据库的查询结果 ![图片说明](https://img-ask.csdn.net/upload/201809/20/1537437825_355519.png) 下面是sql语句 ``` SELECT COUNT(1) as count, mc.calendar_year_month as calendarTime , mc.calendar_month as calendarMonth, group_concat(mc.calendar_name) as calendarNames FROM kbpos_marketing.marketing_calendar mc WHERE mc.calendar_year_month <![CDATA[ >= ]]> #{beginDate} AND mc.calendar_year_month <![CDATA[ <= ]]> #{endDate} AND mc.delete_flag=0 GROUP BY mc.calendar_year_month,mc.calendar_month ORDER BY mc.calendar_year_month,mc.calendar_month; ``` 这个字段是string类型,数据库中也是字符串类型 private String calendarNames; 为什么会这个节日的顺序不一样呢?

mybatis-plus生成实体类问题

我的数据库表名为sys_user,通过mybatis-plus生成实体类名称为user。我的意愿是让它生成名为SysUser的实体类。 我应该在配置策略中添加什么?

mybatis中实体类和表字段不一致,且配置了resultMap,为什么返回值为null?

在学习mybatis的时候,老师讲实体类和表中名字不一样的时候要配置resultMap完成映射,但是我配置了resultMap之后输出查询结果还是为null。 以下是我的mapper文件 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- namespace表示命名空间 --> <mapper namespace="com.mapper.SolMapper"> <!-- where后的是表里的名字 #{}里的一定是类里的名字 --> <select id="findByName" parameterType="String" resultMap="mymap"> select * from sol where solname=#{nam} </select> <!-- 映射文件 --> <!-- 表里的名字与列里名字不一样的时候 --> <resultMap id="mymap" type="com.po.Sol" > <!-- id property="id"实体类里的属性 column="id"表里的列/--> <id property="id" column="id"/> <result property="nam" column="solname"/> <result property="sch" column="solschool"/> <result property="hob" column="solhobby"/> </resultMap> </mapper> 下面是我的输出查询test文件 package com.test; import java.util.List; import org.apache.ibatis.session.SqlSession; import com.po.Sol; import com.util.SqlSessionUtil; public class Test2 { public static void main(String []args){ SqlSession sqlSession=SqlSessionUtil.getSqlSession(); sqlSession.selectOne("com.mapper.SolMapper.findByName","小叮当"); System.out.println("查找到"+log.getId()+log.getNam()+log.getSch()+log.getHob()); } } 我在config文件中用了下面方法让我的程序显示运行过程 ``` <settings> <setting name="logImpl" value="STDOUT_LOGGING"/> </settings> ``` 运行过程及输出null错误如下 ``` Logging initialized using 'class org.apache.ibatis.logging.stdout.StdOutImpl' adapter. PooledDataSource forcefully closed/removed all connections. PooledDataSource forcefully closed/removed all connections. PooledDataSource forcefully closed/removed all connections. PooledDataSource forcefully closed/removed all connections. Opening JDBC Connection Created connection 372093341. Setting autocommit to false on JDBC Connection [com.mysql.jdbc.JDBC4Connection@162db19d] ==> Preparing: select * from sol where solname=? ==> Parameters: 小叮当(String) <== Columns: id, solname, solschool, solhobby <== Row: 666, 小叮当, 初中, 化学 <== Total: 1 查找到0nullnullnull ```

关于SpringBoot+myBatis实体的字段返回前端后格式变化的问题

我的架构是 springBoot(1.5.9)+myBatis ,连接池用的是阿里的druid,以下是配置信息: 启动类: import java.sql.SQLException; import java.util.HashMap; import java.util.Map; import org.apache.ibatis.plugin.Interceptor; import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.SqlSessionFactoryBean; import org.mybatis.spring.annotation.MapperScan; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.boot.web.servlet.ServletRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.core.io.support.PathMatchingResourcePatternResolver; import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.support.http.StatViewServlet; import com.alibaba.druid.support.http.WebStatFilter; import com.github.pagehelper.PageHelper; /** * * @author wangxufei * */ @SpringBootApplication @EnableAutoConfiguration @MapperScan("com.mofangge.mapper") public class MfgAgencyApplication { @Value("${spring.datasource.username}") private String userName; @Value("${spring.datasource.password}") private String password; @Value("${spring.datasource.url}") private String url; @Bean public ServletRegistrationBean druidServletRegistrationBean() { ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(); servletRegistrationBean.setServlet(new StatViewServlet()); servletRegistrationBean.addUrlMappings("/druid/*"); return servletRegistrationBean; } /** * 注册DruidFilter拦截 * * @return */ @Bean public FilterRegistrationBean duridFilterRegistrationBean() { FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(); filterRegistrationBean.setFilter(new WebStatFilter()); Map<String, String> initParams = new HashMap<String, String>(); // 设置忽略请求 initParams.put("exclusions", "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*"); filterRegistrationBean.setInitParameters(initParams); filterRegistrationBean.addUrlPatterns("/*"); return filterRegistrationBean; } /** * 配置DruidDataSource * * @return * @throws SQLException */ @Bean public DruidDataSource druidDataSource() throws SQLException { DruidDataSource druidDataSource = new DruidDataSource(); druidDataSource.setUsername(userName); druidDataSource.setPassword(password); druidDataSource.setUrl(url); druidDataSource.setMaxActive(100); druidDataSource.setFilters("stat,wall"); druidDataSource.setInitialSize(10); return druidDataSource; } @Bean public SqlSessionFactory sqlSessionFactoryBean() throws Exception { SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean(); sqlSessionFactoryBean.setDataSource(druidDataSource()); PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); sqlSessionFactoryBean.setMapperLocations(resolver.getResources("classpath:/mybatis/*.xml")); sqlSessionFactoryBean.setTypeAliasesPackage("com.mofangge.model,com.mofangge.dto"); Interceptor[] interceptors = {new PageHelper()}; sqlSessionFactoryBean.setPlugins(interceptors); return sqlSessionFactoryBean.getObject(); } public static void main(String[] args) { SpringApplication.run(MfgAgencyApplication.class, args); } } properties文件: #server #server.port=8080 server.port=8081 #server.port=8099 #server.servlet-path=/agency ## log logging.level.org.springframework.web: error logging.level.com.mofangge:info logging.file:mfg-agency.log # JPA (JpaBaseConfiguration, HibernateJpaAutoConfiguration) spring.data.jpa.repositories.enabled=true spring.jpa.database=mysql spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect spring.jpa.generate-ddl=false spring.jpa.hibernate.ddl-auto=none spring.jpa.open-in-view=true spring.jpa.show-sql=false 现在遇到的问题是: 实体类中的格式 返回到页面后,字段格式变化了,如下图: 实体: ![图片说明](https://img-ask.csdn.net/upload/201803/08/1520520274_791208.png) 数据库: ![图片说明](https://img-ask.csdn.net/upload/201803/08/1520520307_858101.png) 返回到页面后的值(controller注解了@RestController): ![图片说明](https://img-ask.csdn.net/upload/201803/08/1520520354_282352.png) 第二个字母 应该是大写C 结果变成了小写c。 而且有个现象是: 如果你的字段是 sName 那么前端拿到的是sname 如果你的字段是seName 那么前端拿到的就是seName **不会变化** 也就是说 如果驼峰前字母是2个或2个以上 他就按照原来的格式了,不知道具体是什么原因,求大佬教导。 ps: 我试过很多种方法,只有一种有效果 就是给字段注解 @JsonProperty 但是这种方法会造成我的返回值里会有2个 sname 一个是sname 一个是sName 2个字段都是同样的值 给我一种复制的感觉。。

mybatis如何把xml的sql语句的传入和传出参数和entity的字段对应起来啊

mybatis如何把xml文件的sql语句的传入和传出参数和entity的字段对应起来啊

MyBatis的实体 在取名时可以加下划线吗?

实体里加下划线让名字和数据库字段,对应,自己试了试 是可以的,为什么百度了半天都没人这么做呢?,都是要加配置,,,,不可以直接加吗?还是有什么原因会报错什么?小白不懂

mybatis 动态insert 传入表名、字段名、数据

需求: 输入:1000个不同的csv文件,每个csv文件10000条记录; 输出:将这些文件存储到每个csv文件对应的数据库中的表中; 求动态sql的书写???; 注:csv文件的第一行和数据库中的字段名一致

MybatisPlus的代码生成器,查询时表中的字段名称默认使用了驼峰命名。

#### 使用了MybatisPlus的代码生成器,表中的字段是不带驼峰的命名,例如courseID,releaseDate等。 #### 代码生成的实体类也是这样的,和表中的字段完全一样。但是在调用通用CRUD时,sql语句自动把不带驼峰的表字段转换成了带下划线的,如:release_date,course_id去查询,导致查询失败。 #### 目前有办法解决这个问题,就是在具体属性前+@TableField指定表字段名称。但是这样一个个去改,效率太低了。想问问大家有没有什么好办法? #### 或者是在生成的时候有什么设置我没有去写才会导致这个结果??

mybatis中多表查询某张表的数据值为null,mysql中查询该表数据有,为啥?

我查了很多,有类似问题,尝试了他们的方法但是不行,我的不是因为数据库与实体类中的字段名不同。只事四表查询,其中一张表的数据出不来 直接上图 实体类(多张表的属性) ![图片说明](https://img-ask.csdn.net/upload/201908/20/1566281796_739588.png) mysql中查询 ![图片说明](https://img-ask.csdn.net/upload/201908/20/1566281827_127875.png) postman中测试 ![图片说明](https://img-ask.csdn.net/upload/201908/20/1566281844_308663.png) 如果使用resultMap,里面的属性映射要怎么写,获取的有三张表的字段数据 ![图片说明](https://img-ask.csdn.net/upload/201908/20/1566288077_430734.png)

mybatis的mapper通用接口如何根据某字段排序

example.createCriteria()中没有找到排序方法,这种需求可以吗

mybatis返回集合怎么处理 resultType怎么写 无实体

resultType返回集合,是集合中的元素,并不是结合本身,如List《User》而不是Java.utli.list 但是我这个没有实体类,我现在是直接使用HashMap。可以返回正常的数据,如果数据为空,字段名不返回 如: ![图片说明](https://img-ask.csdn.net/upload/202001/17/1579246139_74729.png) xml如下 ![图片说明](https://img-ask.csdn.net/upload/202001/17/1579246190_529340.png)

java pojo类的属性和表的字段要设计的一样吗

java pojo类的属性和表的字段要设计的一样吗?不一定说名字一模一样,就是是不是要一一对应

mybatis中的if test判断

mybatis中的配置文件里写含有 ``` <if test=""></if>的sql语句时 ``` ``` <if test=" 字段名!=null "></if>与 <if test=" 字段名!= null and test=" 字段名!= '' "></if>的区别与用法。 ```

springmvc+springjdbc 实体类,表的映射关系

如题。没用hibernate。 我的实体类和表的对应关系 我的属性和字段名称的对应关系。 rowmapper我知道。但是公司要求用注解。 我自定义注解。公司说spring原生有。 到底是什么呢。怎么用呢。

mysql 表的字段名 大小写转换问题

我刚建表的时候 表的字段全是大写的 现在经理让改成小写的 这么多表一个一个字段改太麻烦了 有一条sql就能解决吗?

mybatis中别名大小写,数据库是sqlserver

mybatis中命名别名,sqlserver的数据库 select user.trade_id as 'tradeId' from user; 返回类型为map,别名命名双引号,单引号都试过了,但是结果却是tradeid,请问这个问题怎么解决?

mybatis嵌套查询,一个resultMap中有多个association标签,怎么写sql语句?

# 1. 一下是我的实体类 1. private int id; 1. private Users users;//房屋持有者 1. private Types types;//房屋类型 1. private String title; 1. private String description; 1. private double price; 1. private Date pubdate;//发布日期 1. private int floorage;//建筑面积 1. private int contact;//联系方式 1. private Street street;//房屋所属街区 1. public int getId() { 1. return id; 1. } 1. public void setId(int id) { 1. this.id = id; 1. } 1. public String getTitle() { 1. return title; 1. } 1. public void setTitle(String title) { 1. this.title = title; 1. } 1. public String getDescription() { 1. return description; 1. } 1. public void setDescription(String description) { 1. this.description = description; 1. } 1. public double getPrice() { 1. return price; 1. } 1. public void setPrice(double price) { 1. this.price = price; 1. } 1. public Date getPubdate() { 1. return pubdate; 1. } 1. public void setPubdate(Date pubdate) { 1. this.pubdate = pubdate; 1. } 1. public int getFloorage() { 1. return floorage; 1. } 1. public void setFloorage(int floorage) { 1. this.floorage = floorage; 1. } 1. public int getContact() { 1. return contact; 1. } 1. public void setContact(int contact) { 1. this.contact = contact; 1. } 1. public Users getUsers() { 1. return users; 1. } 1. public void setUsers(Users users) { 1. this.users = users; 1. } 1. public Types getTypes() { 1. return types; 1. } 1. public void setTypes(Types types) { 1. this.types = types; 1. } 1. public Street getStreet() { 1. return street; 1. } 1. public void setStreet(Street street) { 1. this.street = street; 1. } 1. ``` ``` ##下面是对应的xml文件,以及sql语句 ``` <mapper namespace="com.rhit.dao"> <resultMap id="HouseMap" type="com.rhit.entity.House"> <id property="id" column="ID" /> <result property="title" column="TITLE" /> <result property="description" column="DESCRIPTION" /> <result property="price" column="PRICE" /> <result property="pubdate" column="PUBDATE" /> <result property="floorage" column="FLOORAGE" /> <result property="contact" column="CONTACT" /> <association property="types" javaType="Types"> <id property="id" column="ID" /> <result property="name" column="NAME" /> </association> <association property="street" javaType="Street"> <id property="id" column="ID" /> <result property="name" column="NAME" /> </association> <association property="users" javaType="Users"> <id property="id" column="ID" /> <result property="name" column="NAME" /> <result property="password" column="PASSWORD" /> <result property="telphone" column="TELEPHONE" /> <result property="username" column="USERNAME" /> <result property="isadmin" column="ISADMIN" /> </association> </resultMap> <select id="getHouse" resultMap="HouseMap"> select * from house h,users u,types t,street s where u.id=h.user_id and t.id=h.type_id and s.id=h.street_id </select> </mapper> ``` ##下面是调用测试 public class Test { public static void main(String[] args) { SqlSession session=MyBatisUtil.getSession(); List<House> list=session.selectList("getHouse"); System.out.println(list.get(0).getStreet().getName()); System.out.println(list.get(0).getTypes().getName()); System.out.println(list.get(0).getUsers().getName()); } } ##问题 1.测试结果只获取到了user的名字,而types和street的名字跟user的名字一样? 2.一个resultMap中可以有多个association么?这种多对多的关系该怎么处理? 3.一个resultMap可以有多个collection么?怎么写sql语句呢? 求大神么解答,在线等,先谢过!

2019 Python开发者日-培训

2019 Python开发者日-培训

150讲轻松搞定Python网络爬虫

150讲轻松搞定Python网络爬虫

设计模式(JAVA语言实现)--20种设计模式附带源码

设计模式(JAVA语言实现)--20种设计模式附带源码

YOLOv3目标检测实战:训练自己的数据集

YOLOv3目标检测实战:训练自己的数据集

java后台+微信小程序 实现完整的点餐系统

java后台+微信小程序 实现完整的点餐系统

三个项目玩转深度学习(附1G源码)

三个项目玩转深度学习(附1G源码)

初级玩转Linux+Ubuntu(嵌入式开发基础课程)

初级玩转Linux+Ubuntu(嵌入式开发基础课程)

2019 AI开发者大会

2019 AI开发者大会

玩转Linux:常用命令实例指南

玩转Linux:常用命令实例指南

一学即懂的计算机视觉(第一季)

一学即懂的计算机视觉(第一季)

4小时玩转微信小程序——基础入门与微信支付实战

4小时玩转微信小程序——基础入门与微信支付实战

Git 实用技巧

Git 实用技巧

Python数据清洗实战入门

Python数据清洗实战入门

使用TensorFlow+keras快速构建图像分类模型

使用TensorFlow+keras快速构建图像分类模型

实用主义学Python(小白也容易上手的Python实用案例)

实用主义学Python(小白也容易上手的Python实用案例)

程序员的算法通关课:知己知彼(第一季)

程序员的算法通关课:知己知彼(第一季)

MySQL数据库从入门到实战应用

MySQL数据库从入门到实战应用

机器学习初学者必会的案例精讲

机器学习初学者必会的案例精讲

手把手实现Java图书管理系统(附源码)

手把手实现Java图书管理系统(附源码)

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

.net core快速开发框架

.net core快速开发框架

玩转Python-Python3基础入门

玩转Python-Python3基础入门

Python数据挖掘简易入门

Python数据挖掘简易入门

微信公众平台开发入门

微信公众平台开发入门

程序员的兼职技能课

程序员的兼职技能课

Windows版YOLOv4目标检测实战:训练自己的数据集

Windows版YOLOv4目标检测实战:训练自己的数据集

HoloLens2开发入门教程

HoloLens2开发入门教程

微信小程序开发实战

微信小程序开发实战

Java8零基础入门视频教程

Java8零基础入门视频教程

相关热词 c# cad插入影像 c#设计思想 c#正则表达式 转换 c#form复制 c#写web c# 柱形图 c# wcf 服务库 c#应用程序管理器 c#数组如何赋值给数组 c#序列化应用目的博客园
立即提问