1. 程式人生 > >Mybatis之在mapper.xml中提前判斷好欄位是Not Null或非空字串

Mybatis之在mapper.xml中提前判斷好欄位是Not Null或非空字串

①二者在一起寫,<if test="channelId != null and channelId != '' ">欄位名=#{xxx,jdbcType=VARCHAR}</if>,這種是最常用的。

②這個取決於資料庫中,該欄位的約束。否則會報錯。

1、 如果為NOT NULL,那麼mapper.xml中必須要驗證<if test=" 欄位名!=null  ">欄位名=#{xxx,jdbcType=VARCHAR}</if>;

2、 如果為非空字串,則mapper.xml中必須要驗證<if test=" 欄位名!=‘’ ">欄位名=#{xxx,jdbcType=VARCHAR}</if>。

注意:這兩句判斷的話加到update或者insert性質的SQL語句中的每個欄位前面

相關推薦

Mybatismapper.xml提前判斷Not Null字串

①二者在一起寫,<if test="channelId != null and channelId != '' ">欄位名=#{xxx,jdbcType=VARCHAR}</if>,這種是最常用的。 ②這個取決於資料庫中,該欄位的約束。否則會報錯。

Mybatismapper.xml配置文件的#{}和${}

ali per ont 占位符 註入 stat 配置文件 style statement #{}表示一個占位符號,通過#{}可以實現preparedStatement向占位符中設置值,自動進行java類型和jdbc類型轉換。#{}可以有效防止sql註入。 #{}可以接收簡單

MyBatisMapper XML 文件詳解(二)-sql和入參

java mybatis sql 參數 mapper sql這個元素可以被用來定義可重用的 SQL 代碼段,可以包含在其他語句中。它可以被靜態地(在加載參數) 參數化. 不同的屬性值通過包含的實例變化. 比如:<sql id="userColumns"> $

MyBatisMapper XML 文件詳解(五)-自動映射查詢結果

java mybatis 正如你在前面一節看到的,在簡單的場景下,MyBatis可以替你自動映射查詢結果。 如果遇到復雜的場景,你需要構建一個result map。 但是在本節你將看到,你也可以混合使用這兩種策略。 讓我們到深一點的層面上看看自動映射是怎樣工作的。 當自動映射查詢結果時,MyBatis

MyBatisMapper XML 文件詳解(六)-緩存配置

java mybatis MyBatis 包含一個非常強大的查詢緩存特性,它可以非常方便地配置和定制。MyBatis 3 中的緩存實現的很多改進都已經實現了,使得它更加強大而且易於配置。 默認情況下是沒有開啟緩存的,除了局部的 session 緩存,可以增強變現而且處理循環 依賴也是必須的。要開啟二級

MyBatisMapper XML 文件詳解(四)-JDBC 類型和嵌套查詢

調用 表格 outer model sele 復雜 普通 全局配置 當前 支持的 JDBC 類型為了未來的參考,MyBatis 通過包含的 jdbcType 枚舉型,支持下面的 JDBC 類型。 BITFLOATCHARTIMESTAMPOTHERUNDEFINEDTINY

Mybatismapper.xml<collection></collection>的用法

在mapper.xml檔案中,我們在使用collection時有兩種用法。這裡做一下簡單記錄: 1、直接將collection集合元素的屬性寫為collection的字標籤 如下: <resultMap type="com.space.shiro.bean.User" id="userM

Mybatismapper XML 檔案

Mybatis之mapper XML 檔案 原文連結:http://www.mybatis.org/mybatis-3/zh/sqlmap-xml.html 一、mapper XML 檔案     MyBatis 的真正強大在於它的對映語句,也是它的魔

mybatismapper.xmlselect標籤的parameterType屬性

SqlSession的selectList()與selcetOne()的第二個引數和selectMap()的第三個引數都表示方法的引數 程式碼如下 Flower flower = session.selectOne("com.bjsxt.mapper.Flowe

mybatismapper.xmlsql的用法

剛接觸的時候會有些摸不到頭腦,為此在網上搜索了一些相關的參考給自己作為借鑑 1.根據id查詢 select * from test_tb_info where 1=1 <if test="id != null and id !=''"> and info.id=#{id}

mybatismapper.xml like用法

MySQL和oracle 資料庫中是一樣的寫法 : <select id="XXX"> SELECT * FROM user WHERE name like CONCAT('%',#{name},'%') </select>  

MyBatismapper.xml時間比較和like的使用

一、MyBatis查詢MySQL的時間段         以下語句用於查詢中時間的比較,#{startTime}=<a.latestTime<=#{endTime},時間格式可以自定義,這是使用的是“年-月-日” <iftest="startT

Mybatismapper.xml的用法

在mapper.xml檔案中,我們在使用collection時有兩種用法。這裡做一下簡單記錄:1、直接將collection集合元素的屬性寫為collection的字標籤如下:<resultMap type="com.space.shiro.bean.User" id=

MyBatisMapper.xml獲取資料庫型別

一、使用場景    不同的資料庫的Sql語法有所不同,為了保證在不同的資料庫中都能執行,我們需要在MyBatis的Mapper.xml檔案中編寫sql語句時對當前連線的資料庫的型別進行判斷,然後編寫適應不同資料庫的sql語句。現在我們就是要解決如何在Mapper.xml中區

【MYSQL】判斷某個值是否包含於某個字串

SQL函式:INSTR(str1,str2);  //mysql中的語法似乎只支援2個引數 引數說明:str1:在這個字串中查詢、str2:欄位值 舉個例子:查詢出名字在字串“張三王五朱六”出現的記錄 表資料:

Scrapy框架的學習(6.item介紹以及items的使用(提前定義名))

在Scrapy框架中的items.py的作用   1.可以預先定義好要爬取的欄位     items.py import scrapy class TencentItem(scrapy.Item): # define the f

myBatis 常見問題(一)查詢結果null

問題描述:查詢認購單詳情<select id="adminGetDatail" resultMap="SubscriptionPO" parameterType="com.money56.ifmp.api.module.bm.vo.ProductSubscription

判斷一個null

在oracle中判斷一個欄位為空不能使用關係運算符: 例如:select  *  from  ename!=null; 或select   *    from   ename=null; 這樣是查不出結果的。 我們可以使用:is  null  和 is  not   nu

mybatis學習筆記——mybatisMapper XML檔案select元素

select元素: Select元素用來定義查詢操作,常用屬性如下。 id:唯一識別符號。用來引用這條語句,需要和介面的方法名一致。 parameterType:將會傳入這條語句的引數類的完全限定名或別名。這個屬性是可選的,因為 MyBatis 可以通過 TypeHandler 推斷出具

mybatis學習筆記——mybatisMapper XML檔案resultMap屬性

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