1. 程式人生 > >mybatis的對映檔案給sql語句傳入String型別等單一引數

mybatis的對映檔案給sql語句傳入String型別等單一引數

在專案中需要統計表中某一列有多少資料,使用sql 語句如下:

  1. selectcount(p_real_frame1) from tbl_frame 

其中,想把 count( parameter ) 括號中的引數用佔位符表示,通過引數傳遞完成這個sql語句,這樣就可以寫成通用的查詢某一列有多少資料。要拼接這個 sql 語句,括號裡的內容設定為 String 型別的,即整個 sql 語句作為一個字串。

首先,在 mybatis 的 mapper.xml 對映檔案對應的介面檔案中,宣告相應sql的 dao 介面, 傳入的引數設定為String 型別。


然後,在mabatis 的 mapper.xml 檔案中寫這個 sql,注意傳遞的引數一定是${_parameter}, 不是用 # 或者其他,引數也必須是{_parameter},這裡嘗試其他寫法都不行。

這裡傳進去的引數不是 資料表對應的 javaBean 物件的屬性,所以需要這麼寫。


如果傳入的引數,是在 javabean 定義好的,即 資料表中的列名對應了javaBean 中的屬性,需要使用 # 像如下這麼寫,這裡以id為例,可以直接寫成 #{id}作為傳進去的引數

  1. <deleteid="deleteUser"parameterType="int">
  2.     delete from users where id=#{id}  
  3. </delete>

相關推薦

mybatis對映檔案sql語句傳入String型別單一引數

在專案中需要統計表中某一列有多少資料,使用sql 語句如下:selectcount(p_real_frame1) from tbl_frame 其中,想把 count( parameter ) 括號中的引數用佔位符表示,通過引數傳遞完成這個sql語句,這樣就可以寫成通用的查詢

Mybatis 對映檔案SQL 深入

1.1 概述 Mybatis 的對映檔案中,有些時候業務邏輯複雜時,我們的 SQL是動態變化的。 把判斷放在對映檔案中,使用動態SQL標籤:<if>、<where>、 <foreach>、<sql>、<include&

mybatis對映檔案格式錯誤:...根元素型別 "mapper" 的文件型別宣告必須以 '>' 結尾。

以下這種寫法對於我來說不行,但我們老師就是這樣寫的 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper SYSTEM "http://ibatis.apache.org/dtd/

針對IDEA使用JRebel熱部署修改mybatis對映檔案sql語句熱部署失敗的解決方案

    本人開發環境:IDEA(2017.3) JRebel(7.X)    使用過一段時間的IDEA後感覺非常好用,並且搭配JRebel後開發簡直非常舒服。但是使用的過程中有個很煩的問題,就是修改sql對映檔案時熱部署好像沒有反應。    這個問題我最後在JRebel官網的

Mybatis對映檔案 if,where,foreach語句,動態sql配置

1.if  注意要做不等於空字串校驗。<!-- 傳遞pojo綜合查詢使用者資訊 --> <select id="findUserList" parameterType="user" resultType="user"> select * from

MyBatis兩種執行XXXMapper.xml配置檔案SQL語句的方法

一、SqlSession單例模式類 package cn.mybatis.Sql; import java.io.IOException; import java.io.InputStream; import org.apache.ibatis.i

Mybatis在控制檯顯示sql語句配置檔案

在log4j.properties配置內容如下: 方法一: log4j.rootLogger=debug,stdout,logfile log4j.appender.stdout=org.apache

mybatis對映檔案的使用(二),引數傳遞

對映檔案、介面定義和測試程式碼 package canger.study.chapter04.mapper; import canger.study.chapter04.bean.Actor; import org.apache.ibatis.annotations.Param; import j

mybatis 對映檔案中,if標籤判斷字串相等

mybatis 對映檔案中,if標籤判斷字串相等,兩種方式: 因為mybatis對映檔案,是使用的ognl表示式,所以在判斷字串sex變數是否是字串Y的時候, <if test="sex=='Y'.toString()"> <if test = 'sex== "Y"'&g

基於ssm框架對mybatis對映檔案的多對一返回型別的junit4單元測試

本專案使用maven搭建的ssm框架,大致的檔案結構如圖: 1、首先是pom.xml中所依賴的一些jar包 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/

Java 讀取csv檔案sql語句

主要用於sql語句的生成,可以舉一反三來做點其他事情。。。。 public static void main(String[] args) { String oracleSql="insert into 表名 "+"(id,欄位1,欄位2) values(%v)"; Stri

SpringBoot Mybatis 在控制檯列印SQL語句

列印SQL語句需要在 application.properties  檔案中進行配置 #列印sql logging.level.com.hz.controller=WARN  #控制器層 logging.level.com.hz.mapper=DEBUG  #D

Mybatis對映檔案Mapper.xml中#和$的區別

關於Mapper.xml對映語句中什麼時候用"#"什麼時候用"$",已經有很多人做過總結,我最近在寫專案時仍然遇到了一點問題,所以在這裡結合專案文件和案例,再做一下總結,也作為個人的筆記,在這裡再總結下。 一、先看一下在mybatis api中關於"#"和"$"的描述 1、"#" 圖 1

Mybatis 開啟控制檯列印sql語句

springboot+mybatis整合過程中,開啟控制檯sql語句列印的兩種方式: 方法一: 1.在mybatis的配置檔案中新增: <settings> <!-- 列印sql日誌 --> <setting name="l

Mybatis攔截器修改sql語句

攔截器介紹 MyBatis提供了一種外掛(plugin)的功能,雖然叫做外掛,但其實這是攔截器功能。 MyBatis 允許你在已對映語句執行過程中的某一點進行攔截呼叫。預設情況下,MyBatis 允許使用外掛來攔截的方法呼叫包括: Executor (update, q

Mybatis中常用的SQL語句

1.BaseResultMap <resultMap id="BaseResultMap" type="com.stylefeng.guns.common.persistence.model.Lo

MyBatis-對映檔案之Select元素(六)

select元素 一、返回List xml對映檔案配置 測試程式碼 結果 二、查詢結果封裝成Map返回 (1)返回單條記錄的Map物件 (2)返回多條記錄

MyBatis學習筆記6—— SQL 語句構建器類

問題 Java程式設計師面對的最痛苦的事情之一就是在Java程式碼中嵌入SQL語句。這麼來做通常是由於SQL語句需要動態來生成——否則可以將它們放到外部檔案或者儲存過程中。正如你已經看到的那樣,MyBatis在它的XML對映特性中有一個強大的動態SQL生成方案。

mybatis xml中是sql語句報錯: Error creating document instance. Cause: org.xml.sax.SAXPa

今天遇到了這個問題,感覺很奇怪,沒有什麼問題,但是還是會報錯。 在網上找了半天,用第二種方法解決了這個問題。第一種方法沒有嘗試。以此來記錄下。 感覺這個問題出現概率很大。要記著呢。 1、使用轉移字元替代 &lt; < &gt; &

idea打包沒有將mybatis對映檔案一起打包的問題

使用IDEA,匯入專案,啟動專案時候,一直報Invalid bound statement異常,專案在eclipse中啟動是沒有問題的。懵逼好一會,總歸是見識少,留個筆記記錄下。 IDEA預設只把src/main/resource下的資原始檔打包到classes目錄下,原始