新聞中心
通過iBatis我們可以在數(shù)據(jù)庫表中執(zhí)行內(nèi)嵌的insert , delete, update SQL命令。本文中你將看到如何在iBatis中調(diào)用存儲過程.

成都創(chuàng)新互聯(lián)公司成立于2013年,我們提供高端網(wǎng)站建設(shè)、成都網(wǎng)站制作、成都網(wǎng)站設(shè)計公司、網(wǎng)站定制、全網(wǎng)整合營銷推廣、成都小程序開發(fā)、微信公眾號開發(fā)、成都網(wǎng)站營銷服務(wù),提供專業(yè)營銷思路、內(nèi)容策劃、視覺設(shè)計、程序開發(fā)來完成項目落地,為成都廣告制作企業(yè)提供源源不斷的流量和訂單咨詢。
我們使用MySQL數(shù)據(jù)庫,并且使用和上一個例子中一樣的Contact表.
我們在數(shù)據(jù)庫"vin"中創(chuàng)建了一個叫showData()的存儲過程,它將顯示Contract表中的所有的contact信息.為了創(chuàng)建存儲過程,我們打開MySQL并創(chuàng)建如下定義的過程 :
- DELIMITER $$ DROP PROCEDURE IF EXISTS `vin`.`showData`$$ CREATE PROCEDURE `vin`.`showData`()BEGINselect * from Contact; END$$ DELIMITER ;
"Contact.java"和"SqlMapConfig.xml"與上一個例子中的是一樣的 :
- public class Contact { private String firstName;
- private String lastName; private String email;
- private int id; public Contact() {}
- public Contact( String firstName, String lastName, String email) { this.firstName = firstName;
- this.lastName = lastName; this.email = email; }
- public String getEmail() { return email; }
- public void setEmail(String email) { this.email = email; }
- public String getFirstName() { return firstName; }
- public void setFirstName(String firstName) { this.firstName = firstName; }
- public int getId() { return id; } public void setId(int id) { this.id = id; }
- public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } }
SqlMapConfig.xml
- "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
我們只需修改"Contact.xml"并使用 標簽來在iBatis中調(diào)用存儲過程
- { call showData() }
上面幾行代碼調(diào)用了存儲過程并集合了contract表.下面是Contact.xml的代碼 :
- "http://ibatis.apache.org/dtd/sql-map-2.dtd">
- { call showData()}
現(xiàn)在我們可以這樣在iBatis中調(diào)用存儲過程 :
sqlMap.queryForList("Contact.storedInfo",null); "sqlMap"是SqlMapClient類的一個對象. IbatisStoredProcedure.java的代碼如下 :
- import com.ibatis.common.resources.Resources;
- import com.ibatis.sqlmap.client.SqlMapClient;
- import com.ibatis.sqlmap.client.SqlMapClientBuilder;
- import java.io.*;import java.sql.SQLException;
- import java.util.*;
- public class IbatisStoredProcedure{ public static void main(String[] args)
- throws IOException,SQLException{ Reader reader = Resources.getResourceAsReader("SqlMapConfig.xml");
- SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader); System.out.println("All Contacts");
- List
contacts = (List ) - sqlMap.queryForList("Contact.storedInfo",null);
- Contact contact = null;
- for (Contact c : contacts) { System.out.print(" " + c.getId());
- System.out.print(" " + c.getFirstName());
- System.out.print(" " + c.getLastName());
- System.out.print(" " + c.getEmail());
- contact = c;
- System.out.println(""); } }}
請依照如下步驟執(zhí)行在iBatis中調(diào)用存儲過程 :
創(chuàng)建Contact.xml和SqlMapConfig.xml
創(chuàng)建Contact.java并將其編譯
創(chuàng)建IbatisStoredProcedure.java并將其編譯
執(zhí)行IbatisStoredProcedure類文件,所有的Contract信息將在你的命令提示符下顯示 :
【編輯推薦】
- iBATIS教程之like語句的寫法淺析
- iBATIS應(yīng)用之SQLMap API編程淺析
- iBATIS入門程序六大步詳解
- iBATIS與Hibernate間的取舍
- iBATIS接口應(yīng)用的淺析
本文名稱:分步詳解 如何在iBatis中調(diào)用存儲過程
轉(zhuǎn)載注明:http://fisionsoft.com.cn/article/cddpsgs.html


咨詢
建站咨詢
