1. 程式人生 > >mapper檔案中的resultMap宣告實體類和表的對映關係是不是必要?

mapper檔案中的resultMap宣告實體類和表的對映關係是不是必要?

本文依照程式碼來說明這樣一個問題:如果我們的mapper檔案中沒有宣告欄位和實體類的屬性對應關係,那麼查詢出來的欄位的值能不能放到實體類中?

答案是:如果查詢的欄位(org_id)和實體類的欄位(org_id)完全一樣。則是可以對應把值賦給實體的。如果表中的欄位(org_id)對應的實體類中的屬性為(orgId),則會對應不上導致值賦值不上去。我們可以理解為查詢出來的結果集就是個Map,這個map的key就是select後面的欄位,當封裝到實體類時,拿著實體類的欄位作為key獲取value並封裝到實體中。下面用程式碼來說明~

mapper檔案:
這裡寫圖片描述

實體類:
這裡寫圖片描述

上面我如果對select的語句的結果集用 resultMap="BaseResultMap"

,則查詢出來的結果集都會正確的賦值給實體類。因為我們給好了一一對應的對映關係。但是如果我們如果改成resultType="com.zhanglf.bo.DirectPurchaseOrdersGoods"時,如果實體類欄位和select語句中的欄位一致則可賦值成功。我專門把select語句中的orgId 改成org_id,然後查詢出來的結果是這樣,可以看到orgId對應的欄位為空,別的欄位都有值:
這裡寫圖片描述

所以得出結論:
如果我們針對sql較為簡單的mapper檔案時,可以不用resultMap,但是要知道如何才能把查詢的值拿到。一個可以像上面這種用實體接受,或者用map來接受。
當然還有專門的生成工具來完成dao,bo,mapper而不用我們動手。
想了解可以點選

這裡

相關推薦

mapper檔案resultMap宣告實體對映關係必要

本文依照程式碼來說明這樣一個問題:如果我們的mapper檔案中沒有宣告欄位和實體類的屬性對應關係,那麼查詢出來的欄位的值能不能放到實體類中? 答案是:如果查詢的欄位(org_id)和實體類的欄位(org_id)完全一樣。則是可以對應把值賦給實體的。如果表中的欄

在Idea自動生成實體hibernate.cfg.xml檔案

1  按快捷鍵 ctrl+shift+alt+s調出project structure選單, 點選專案名稱, 新增hibernate模組, 在最右側點選+號, 新增hibernate.cfg.xml檔案 2  點選DataBase中的+號 ,連線 mysql資料庫 選擇資料庫名稱,  建立連線

SpringBoot使用Mybatis Generator進行資料庫逆向工程自動生成實體mapping對映

1.首先在專案中建立一個GeneratorDisplay工具類,放在com.springbootdemo.util下 package com.springbootdemo.util; import java.io.File; import java.util.ArrayList; imp

mybatis 如何對映實體名首先:最好把實體裡面的變數名稱表裡面欄位寫成一致。 然後:在SqlMapConfig.xml

首先:最好把實體類裡面的變數名稱和表裡面欄位寫成一致。 然後:在SqlMapConfig.xml中  <typeAliases> <typeAlias alias="game

自制工具:CSV程式碼生成器:自動生成CSV檔案對應的C++實體欄位型別解析程式碼

更有開發效率地使用CSV檔案 為了更有效率地使用CSV檔案,我製作了一個工具:Code程式碼生成器。 這個工具可以對CSV檔案進行簡單地配置,自動生成這個CSV檔案對應的C++資料結構和欄位型別解析函式程式碼。 工程專案只要加入這些自動生成的程式碼,就可以更方便地使

實體資料庫對映--配置檔案

<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"    "http://hibernate.sou

MyBatis由淺入深學習總結之二:MyBatis解決Java實體資料庫表字段一致方法總結

在此,首先說明一點任何永續性框架都需要解決一個問題,那就是Java實體類的欄位一般來說基本上會與資料庫表中欄位不一致,那麼它們是如何解決的呢?咱們以Hibernate和SpringJDBC為例說明一下; 1、Hibernate中一般通過XML對映和註解的方式解決不一致問題,

EntityFrameWork 實現實體DBContext分離在同類庫

sys reat contex spa this partial 進行 set err 在新建EF的時候,選擇CodeFirst,會生成一個DBContext類似於下圖,這個還是只有一個實體Score的時候,如果項目中實體很多,整個放在DBcontxt裏面會顯示的非常淩亂,

通過資料庫,使用 MyEclipse2017的反向生成工具-->hibernate反轉引擎引擎(MyEclipse2017自帶的外掛) 來反轉生成實體對應的對映檔案

Java檢視 1、在MyEclipse中,Java檢視下,新建一個普通的java project,新建該專案的目的是:用來接收反轉引擎生成的實體類和對應的對映檔案。 2、在專案上右鍵 --> Configure Facets... --> Install Hibernate Facet   

Mybatis需要返回的資料引數在資料沒有對應的欄位,自定義實體resultmap作為返回值型別

自定義實體類:因為需要做相關記錄的統計,而表中沒有統計欄位 public class TrafficJeevesDistrictCount { //施工top5+1 按區域 private String districtInfo; private

MyBatis反向生成Java實體Mapper對映檔案

首先在maven中新增 mybatis-generator-maven-plugin 外掛 <plugin> <groupId>org.mybatis.generator</groupId> <ar

使用Mybatis生成工具自動生成實體對應的mapper對映檔案以及介面檔案

1.相關的jar包 Mybatis-Generator的下載可以到這個地址: https://github.com/mybatis/generator/releases 使用官方網站的mapper自動生成工具mybatis-generator-core-1

Mysql+mybatis 反轉生成實體Mapper檔案以及Mapper.xml檔案

使用之前先在pom檔案中加上如下依賴: <!-- 匯入Mysql資料庫連結jar包 --> <dependency> <gro

Java什麽是實體實體的作用

Java實體類實體類是在JAVA軟件開發中廣泛使用的概念。 但是網上少有講清楚到底是什麽的。本期我來講一講什麽是實體類。 首先,直觀的看:實體類就是一個擁有Set和Get方法的類。實體類通常總是和數據庫之類的(所謂持久層數據)聯系在一起。這種聯系是借由框架(如Hibernate)來建立的。其次說定義(比較生澀

使用mybatis反向自動生成實體mapper映射文件接口文件

http 實體類 pos -- cti 連接 rule ima app 問題描述: 最近在做web的東西,想要從數據庫中生成實體類,然後操作數據庫,然後做一些增刪改查的工作, 發現可以直接使用mybatis直接生成javabean,還有可以直接生成mapper的映射文件。具

通過數據庫,使用 MyEclipse2017的反向生成工具-->hibernate反轉引擎引擎(MyEclipse2017自帶的插件) 來反轉生成實體對應的映射文件

需要 ria sdn http rap div aci radi 工具 Java視圖 1、在MyEclipse中,Java視圖下,新建一個普通的java project,新建該項目的目的是:用來接收反轉引擎生成的實體類和對應的映射文件。 2、在項目上右鍵 -->

idea hibernate反轉pojo實體對映檔案

![](https://img2018.cnblogs.com/blog/782772/201811/782772-20181106142813914-1007317839.png) ![](https://img2018.cnblogs.com/blog/782772/201811/782772-201

mybatis學習筆記之——mybatis的Mapper XML檔案resultMap屬性

resultMap resultMap:自定義結果集對映規則,自定義某個JavaBean的封裝規則。 id:唯一id,方便引用。 type:自定義規則的Java類。 具體其他屬性詳細資訊和配置程式碼如下: <resultMap id="MyEmp" type="com.te

Mybatis的mapper檔案${ }#{ }的區別

dao層實體: User user = new User(); user.setName("小明"); mapper檔案sql語句: 1、使用#{}示例: SELECT * FROM user WHERE name=#{name}; 編譯後的sql為:SELECT

mapper檔案動態動態屬性的使用

mapper檔案中動態表名和動態屬性的使用   遇到一個需要在一個sql語句中實現動態表名和動態屬性的情境,在多張相似表中查詢不同name的資訊,由於我使用的是Mybatis,所以我需要在mapper檔案中實現動態表名和動態查詢。經過上網查詢,瞭解了${},#{}的原理和使用情境。但是,我在嘗試