成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

分步詳解 如何在iBatis中調用存儲過程

開發 后端
本文通過實例講解如何在iBatis中調用存儲過程,讓你在iBatis中調用存儲過程更輕松。

通過iBatis我們可以在數據庫表中執行內嵌的insert , delete, update SQL命令。本文中你將看到如何在iBatis中調用存儲過程.

我們使用MySQL數據庫,并且使用和上一個例子中一樣的Contact表.

我們在數據庫"vin"中創建了一個叫showData()的存儲過程,它將顯示Contract表中的所有的contact信息.為了創建存儲過程,我們打開MySQL并創建如下定義的過程 :

  1. DELIMITER $$  DROP  PROCEDURE  IF EXISTS `vin`.`showData`$$  CREATE  PROCEDURE  `vin`.`showData`()BEGINselect *  from  Contact; END$$ DELIMITER ; 

 

"Contact.java"和"SqlMapConfig.xml"與上一個例子中的是一樣的 :

 

  1. public class Contact {  private String firstName;  
  2.  private String lastName;     private String email;   
  3.  private int id;   public Contact() {}   
  4.  public Contact(    String firstName,    String lastName,    String email) {    this.firstName = firstName;  
  5.   this.lastName = lastName;    this.email = email;    }   
  6.  public String getEmail() {    return email;  } 
  7.  public void setEmail(String email) {    this.email = email;  }
  8.   public String getFirstName() {    return firstName;  } 
  9.  public void setFirstName(String firstName) {    this.firstName = firstName;  } 
  10.  public int getId() {    return id;  }  public void setId(int id) {    this.id = id;  }  
  11. public String getLastName() {    return lastName;  }  public void setLastName(String lastName) {    this.lastName = lastName;  } } 

 

SqlMapConfig.xml

  1. <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE sqlMapConfigPUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
  2. "http://ibatis.apache.org/dtd/sql-map-config-2.dtd"> <sqlMapConfig>   <settings useStatementNamespaces="true"/>  
  3.    <transactionManager type="JDBC">       
  4.  <dataSource type="SIMPLE">       
  5.    <property name="JDBC.Driver" value="com.mysql.jdbc.Driver"/>      
  6.     <property name="JDBC.ConnectionURL"               value="jdbc:mysql://192.168.10.112:3306/vin"/>     
  7.      <property name="JDBC.Username" value="root"/>     
  8.      <property name="JDBC.Password" value="root"/>      
  9.   </dataSource>  
  10.     </transactionManager>    
  11.  <sqlMap resource="Contact.xml"/> </sqlMapConfig> 

 

我們只需修改"Contact.xml"并使用標簽來在iBatis中調用存儲過程

  1. <procedure id="storedInfo" resultClass="Contact">    
  2.    { call showData() } </procedure> 

 

上面幾行代碼調用了存儲過程并集合了contract表.下面是Contact.xml的代碼 :

  1. <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE sqlMapPUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
  2. "http://ibatis.apache.org/dtd/sql-map-2.dtd">
  3.  <sqlMap namespace="Contact"> 
  4.  <!--- Calling stored procedure -->     
  5.   <procedure id="storedInfo" resultClass="Contact">      
  6.       { call showData()}    </procedure></sqlMap> 

 

現在我們可以這樣在iBatis中調用存儲過程 :

sqlMap.queryForList("Contact.storedInfo",null); "sqlMap"是SqlMapClient類的一個對象. IbatisStoredProcedure.java的代碼如下 :

  1. import com.ibatis.common.resources.Resources;
  2. import com.ibatis.sqlmap.client.SqlMapClient;
  3. import com.ibatis.sqlmap.client.SqlMapClientBuilder;
  4. import java.io.*;import java.sql.SQLException;
  5. import java.util.*; 
  6. public class IbatisStoredProcedure{  public static void main(String[] args)     
  7.   throws IOException,SQLException{        Reader reader =       Resources.getResourceAsReader("SqlMapConfig.xml");      
  8. SqlMapClient sqlMap =       SqlMapClientBuilder.buildSqlMapClient(reader);      System.out.println("All Contacts");    
  9.   List<Contact> contacts = (List<Contact>)   
  10.      sqlMap.queryForList("Contact.storedInfo",null);    
  11.     Contact contact = null;    
  12.   for (Contact c : contacts) {      System.out.print("  " + c.getId());    
  13.   System.out.print("  " + c.getFirstName()); 
  14.      System.out.print("  " + c.getLastName());     
  15.  System.out.print("  " + c.getEmail());   
  16.      contact = c;     
  17.   System.out.println("");      }      }}  

 

請依照如下步驟執行在iBatis中調用存儲過程 :

  創建Contact.xml和SqlMapConfig.xml

  創建Contact.java并將其編譯

  創建IbatisStoredProcedure.java并將其編譯

  執行IbatisStoredProcedure類文件,所有的Contract信息將在你的命令提示符下顯示 :

 

【編輯推薦】

  1. iBATIS教程之like語句的寫法淺析
  2. iBATIS應用之SQLMap API編程淺析
  3. iBATIS入門程序六大步詳解
  4. iBATIS與Hibernate間的取舍
  5. iBATIS接口應用的淺析
責任編輯:佚名 來源: Javaeye
相關推薦

2010-04-30 08:47:22

Oracle分頁存儲

2010-05-06 14:01:12

Oracle分頁存儲過

2009-07-21 13:50:00

iBATIS.NET調

2011-07-19 17:33:53

存儲過程javaibatis

2009-07-21 17:06:35

iBATIS.NET執

2009-07-08 17:17:16

JDBC調用存儲過程

2012-03-08 10:18:33

JavaOracle

2012-05-10 11:17:23

JavaSQL Server

2011-08-11 14:35:47

SQL Server插入更新

2011-11-11 10:31:07

Ubuntu瀏覽器

2015-07-08 09:57:59

Git服務器分步詳解

2009-07-10 17:54:15

Java中調用JythJython

2020-11-26 10:33:44

MySQL存儲函數

2021-10-15 06:43:11

數據庫存儲過程

2010-06-04 13:50:24

MySQL存儲過程

2009-03-03 11:51:54

微軟數據庫ACCESS

2010-04-16 11:03:02

Oracle存儲過程

2009-06-17 13:19:50

Java調用DLL

2016-08-24 21:24:27

MySQL存儲數據庫

2022-09-20 14:46:17

PostgreSQL存儲工具
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产一区二区在线免费观看 | 羞羞视频免费观看 | 日日噜噜噜夜夜爽爽狠狠视频97 | 亚洲午夜精品视频 | 一区二区三区免费 | 久久99精品久久 | 成人看片在线观看 | 爱爱视频网 | 黄色在线观看 | 日韩一区二区三区在线观看 | 欧美亚洲国产日韩 | 自拍 亚洲 欧美 老师 丝袜 | 91在线资源 | 在线看av的网址 | 中文字幕一区二区三区精彩视频 | 日韩精品一区二区三区在线播放 | 亚洲永久免费观看 | 国产精品久久久久久一级毛片 | 在线免费看毛片 | 免费看国产一级特黄aaaa大片 | 久久6视频 | 九九亚洲 | 91不卡在线 | 欧美精品被 | 波多野结衣先锋影音 | 91免费在线看 | 亚洲中午字幕 | 九九综合| 久久人人网 | 日韩欧美一区二区三区四区 | 在线免费看91 | 欧洲av在线 | 国产亚洲精品久久久久久牛牛 | 日韩一区二区三区av | 国产亚洲精品久久久久久豆腐 | 色综合色综合色综合 | 91视频电影 | 国产日产久久高清欧美一区 | 精品福利一区二区三区 | 大久| 日本国产高清 |