當前位置:首頁 » 服務存儲 » mybatis存儲過程查詢數量
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

mybatis存儲過程查詢數量

發布時間: 2022-05-19 07:56:13

Ⅰ mybatis怎麼使用存儲過程

mybatis 配置 裡面 寫好存儲過程,然後直接調用。

編輯userMapper.xml
編輯userMapper.xml文件,添加如下的配置項

1 <!--
2 查詢得到男性或女性的數量, 如果傳入的是0就女性否則是男性
3 -->
4 <select id="getUserCount" parameterMap="getUserCountMap" statementType="CALLABLE">
5 CALL mybatis.ges_user_count(?,?)
6 </select>
7
8 <!--
9 parameterMap.put("sexid", 0);
10 parameterMap.put("usercount", -1);
11 -->
12 <parameterMap type="java.util.Map" id="getUserCountMap">
13 <parameter property="sexid" mode="IN" jdbcType="INTEGER"/>
14 <parameter property="usercount" mode="OUT" jdbcType="INTEGER"/>
15 </parameterMap>

四、編寫單元測試代碼

1 package me.gacl.test;
2
3 import java.util.HashMap;
4 import java.util.List;
5 import java.util.Map;
6
7 import me.gacl.custom.model.ConditionUser;
8 import me.gacl.domain.User;
9 import me.gacl.util.MyBatisUtil;
10 import org.apache.ibatis.session.sqlSession;
11 import org.junit.Test;
12
13 /**
14 * @author gacl
15 * 測試調用存儲過程
16 */
17 public class Test6 {
18
19 @Test
20 public void testGetUserCount(){
21 SqlSession sqlSession = MyBatisUtil.getSqlSession();
22 /**
23 * 映射sql的標識字元串,
24 * me.gacl.mapping.userMapper是userMapper.xml文件中mapper標簽的namespace屬性的值,
25 * getUserCount是select標簽的id屬性值,通過select標簽的id屬性值就可以找到要執行的SQL
26 */
27 String statement = "me.gacl.mapping.userMapper.getUserCount";//映射sql的標識字元串
28 Map<String, Integer> parameterMap = new HashMap<String, Integer>();
29 parameterMap.put("sexid", 1);
30 parameterMap.put("usercount", -1);
31 sqlSession.selectOne(statement, parameterMap);
32 Integer result = parameterMap.get("usercount");
33 System.out.println(result);
34 sqlSession.close();
35 }
36 }

Ⅱ mybatis 怎麼獲取數據並修改數據

MyBatis 是支持普通 SQL 查詢,存儲過程和高級映射的優秀持久層框架。 MyBatis 消除了幾乎所有的 JDBC 代碼和參數的手工設置以及對結果集的檢索。MyBatis 可以使用簡單的XML 或註解用於配置和原始映射,將介面和 Java 的 POJO(Plain Old Java Objects,普通的Java對象)映射成資料庫中的記錄。

Ⅲ 如何通過MyBatis獲取mysql存儲過程返回的不確定個數的多個結果集

如何通過MyBatis獲取mysql存儲過程返回的不確定個數的多個結果集
如果對select 返回的結果行都需要處理,使用游標。
如果只想取得返回多行中的一行,使用limit。

Ⅳ mybatis工作原理及為什麼要用

一、mybatis的工作原理:

MyBatis 是支持普通 SQL查詢,存儲過程和高級映射的優秀持久層框架。MyBatis 消除了幾乎所有的JDBC代碼和參數的手工設置以及結果集的檢索。

MyBatis使用簡單的 XML或註解用於配置和原始映射,將介面和 Java 的POJOs(Plain Ordinary Java Objects,普通的 Java對象)映射成資料庫中的記錄。

每個MyBatis應用程序主要都是使用SqlSessionFactory實例的,一個SqlSessionFactory實例可以通過SqlSessionFactoryBuilder獲得。用xml文件構建SqlSessionFactory實例是非常簡單的事情。

推薦在這個配置中使用類路徑資源,但可以使用任何Reader實例,包括用文件路徑或file://開頭的url創建的實例。MyBatis有一個實用類----Resources,它有很多方法,可以方便地從類路徑及其它位置載入資源。

二、使用mybatis的原因:因為mybatis具有許多的優點,具體如下:

1、簡單易學:本身就很小且簡單。沒有任何第三方依賴,最簡單安裝只要兩個jar文件+配置幾個sql映射文件易於學習,易於使用,通過文檔和源代碼,可以比較完全的掌握它的設計思路和實現。

2、靈活:mybatis不會對應用程序或者資料庫的現有設計強加任何影響。 sql寫在xml里,便於統一管理和優化。通過sql語句可以滿足操作資料庫的所有需求。

3、解除sql與程序代碼的耦合:通過提供DAO層,將業務邏輯和數據訪問邏輯分離,使系統的設計更清晰,更易維護,更易單元測試。sql和代碼的分離,提高了可維護性。

4、提供映射標簽,支持對象與資料庫的orm欄位關系映射。

5、提供對象關系映射標簽,支持對象關系組建維護。

6、提供xml標簽,支持編寫動態sql。

(4)mybatis存儲過程查詢數量擴展閱讀:

mybatis的功能構架:

1、API介面層:提供給外部使用的介面API,開發人員通過這些本地API來操縱資料庫。介面層一接收到調用請求就會調用數據處理層來完成具體的數據處理。

2、數據處理層:負責具體的SQL查找、SQL解析、SQL執行和執行結果映射處理等。它主要的目的是根據調用的請求完成一次資料庫操作。

3、基礎支撐層:負責最基礎的功能支撐,包括連接管理、事務管理、配置載入和緩存處理,這些都是共用的東西,將他們抽取出來作為最基礎的組件。為上層的數據處理層提供最基礎的支撐。

Ⅳ mybatis存儲過程查詢全部數據函數怎麼寫

MyBatis學習 之 一、MyBatis簡介與配置MyBatis+Spring+MySql
MyBatis學習 之 二、SQL語句映射文件(1)resultMap
MyBatis學習 之 二、SQL語句映射文件(2)增刪改查、參數、緩存
MyBatis學習 之 三、動態SQL語句
MyBatis學習 之 四、MyBatis配置文件

在定義sqlSessionFactory時需要指定MyBatis主配置文件:

Xml代碼 收藏代碼
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="configLocation" value="classpath:mybatis-config.xml" />
<property name="dataSource" ref="dataSource" />
</bean>

Ⅵ mybatis調用存儲過程

<select id="selectUserById" statementType="CALLABLE" useCache="false">
{
call select_user_by_id(
#{userId,mode=IN},
#{realname,mode=OUT,jdbcType=VARCHAR},
#{username,mode=OUT,jdbcType=VARCHAR},
#{email,mode=OUT,jdbcType=VARCHAR},
#{phone,mode=OUT,jdbcType=VARCHAR},
#{remarks,mode=OUT,jdbcType=VARCHAR},
#{createDate,mode=OUT,jdbcType=TIMESTAMP}
)
}
</select>

Ⅶ MyBatis知多少存儲過程

如何使用Myts調用資料庫中的存儲過程,下面以Oracle資料庫的為例: 1.在資料庫中創建以下的存儲過程: 2.編寫SQL映射文件WxclDAO.xml: 其中statementType="CALLABLE"表示要調用存儲過程,parameterType參數類型; jdbcType對應資料庫中的.

Ⅷ springmvc mybatis 存儲過程怎麼調用

mybatis 配置 裡面 寫好存儲過程,然後直接調用。

編輯userMapper.xml
編輯userMapper.xml文件,添加如下的配置項

1 <!--
2 查詢得到男性或女性的數量, 如果傳入的是0就女性否則是男性
3 -->
4 <select id="getUserCount" parameterMap="getUserCountMap" statementType="CALLABLE">
5 CALL mybatis.ges_user_count(?,?)
6 </select>
7
8 <!--
9 parameterMap.put("sexid", 0);
10 parameterMap.put("usercount", -1);
11 -->
12 <parameterMap type="java.util.Map" id="getUserCountMap">
13 <parameter property="sexid" mode="IN" jdbcType="INTEGER"/>
14 <parameter property="usercount" mode="OUT" jdbcType="INTEGER"/>
15 </parameterMap>

四、編寫單元測試代碼

1 package me.gacl.test;
2
3 import java.util.HashMap;
4 import java.util.List;
5 import java.util.Map;
6
7 import me.gacl.custom.model.ConditionUser;
8 import me.gacl.domain.User;
9 import me.gacl.util.MyBatisUtil;
10 import org.apache.ibatis.session.SqlSession;
11 import org.junit.Test;
12
13 /**
14 * @author gacl
15 * 測試調用存儲過程
16 */
17 public class Test6 {
18
19 @Test
20 public void testGetUserCount(){
21 SqlSession sqlSession = MyBatisUtil.getSqlSession();
22 /**
23 * 映射sql的標識字元串,
24 * me.gacl.mapping.userMapper是userMapper.xml文件中mapper標簽的namespace屬性的值,
25 * getUserCount是select標簽的id屬性值,通過select標簽的id屬性值就可以找到要執行的SQL
26 */
27 String statement = "me.gacl.mapping.userMapper.getUserCount";//映射sql的標識字元串
28 Map<String, Integer> parameterMap = new HashMap<String, Integer>();
29 parameterMap.put("sexid", 1);
30 parameterMap.put("usercount", -1);
31 sqlSession.selectOne(statement, parameterMap);
32 Integer result = parameterMap.get("usercount");
33 System.out.println(result);
34 sqlSession.close();
35 }
36 }

Ⅸ mybatis執行存儲過程

mybatis 配置 裡面 寫好存儲過程,然後直接調用。

編輯userMapper.xml
編輯userMapper.xml文件,添加如下的配置項

1 <!--
2 查詢得到男性或女性的數量, 如果傳入的是0就女性否則是男性
3 -->
4 <select id="getUserCount" parameterMap="getUserCountMap" statementType="CALLABLE">
5 CALL mybatis.ges_user_count(?,?)
6 </select>
7
8 <!--
9 parameterMap.put("sexid", 0);
10 parameterMap.put("usercount", -1);
11 -->
12 <parameterMap type="java.util.Map" id="getUserCountMap">
13 <parameter property="sexid" mode="IN" jdbcType="INTEGER"/>
14 <parameter property="usercount" mode="OUT" jdbcType="INTEGER"/>
15 </parameterMap>

四、編寫單元測試代碼

1 package me.gacl.test;
2
3 import java.util.HashMap;
4 import java.util.List;
5 import java.util.Map;
6
7 import me.gacl.custom.model.ConditionUser;
8 import me.gacl.domain.User;
9 import me.gacl.util.MyBatisUtil;
10 import org.apache.ibatis.session.SqlSession;
11 import org.junit.Test;
12
13 /**
14 * @author gacl
15 * 測試調用存儲過程
16 */
17 public class Test6 {
18
19 @Test
20 public void testGetUserCount(){
21 SqlSession sqlSession = MyBatisUtil.getSqlSession();
22 /**
23 * 映射sql的標識字元串,
24 * me.gacl.mapping.userMapper是userMapper.xml文件中mapper標簽的namespace屬性的值,
25 * getUserCount是select標簽的id屬性值,通過select標簽的id屬性值就可以找到要執行的SQL
26 */
27 String statement = "me.gacl.mapping.userMapper.getUserCount";//映射sql的標識字元串
28 Map<String, Integer> parameterMap = new HashMap<String, Integer>();
29 parameterMap.put("sexid", 1);
30 parameterMap.put("usercount", -1);
31 sqlSession.selectOne(statement, parameterMap);
32 Integer result = parameterMap.get("usercount");
33 System.out.println(result);
34 sqlSession.close();
35 }
36 }

Ⅹ mybatis原理是什麼

MyBatis 是支持普通 SQL查詢,存儲過程和高級映射的優秀持久層框架。MyBatis 消除了幾乎所有的JDBC代碼和參數的手工設置以及結果集的檢索。MyBatis 使用簡單的 XML或註解用於配置和原始映射,將介面和 Java 的POJOs(Plain Ordinary Java Objects,普通的 Java對象)映射成資料庫中的記錄。

每個MyBatis應用程序主要都是使用SqlSessionFactory實例的,一個SqlSessionFactory實例可以通過SqlSessionFactoryBuilder獲得。SqlSessionFactoryBuilder可以從一個xml配置文件或者一個預定義的配置類的實例獲得。

用xml文件構建SqlSessionFactory實例是非常簡單的事情。推薦在這個配置中使用類路徑資源(classpath resource),但你可以使用任何Reader實例,包括用文件路徑或file://開頭的url創建的實例。MyBatis有一個實用類----Resources,它有很多方法,可以方便地從類路徑及其它位置載入資源。

把Mybatis的功能架構分為三層:

1、API介面層:提供給外部使用的介面API,開發人員通過這些本地API來操縱資料庫。介面層一接收到調用請求就會調用數據處理層來完成具體的數據處理。

2、數據處理層:負責具體的SQL查找、SQL解析、SQL執行和執行結果映射處理等。它主要的目的是根據調用的請求完成一次資料庫操作。

3、基礎支撐層:負責最基礎的功能支撐,包括連接管理、事務管理、配置載入和緩存處理,這些都是共用的東西,將他們抽取出來作為最基礎的組件。為上層的數據處理層提供最基礎的支撐。