分步详解 如何在iBatis中调用存储过程

通过iBatis我们可以在数据库表中执行内嵌的insert , delete, update SQL命令。本文中你将看到如何在iBatis中调用存储过程.

成都创新互联公司成立于2013年,我们提供高端网站建设成都网站制作成都网站设计公司、网站定制、全网整合营销推广成都小程序开发、微信公众号开发、成都网站营销服务,提供专业营销思路、内容策划、视觉设计、程序开发来完成项目落地,为成都广告制作企业提供源源不断的流量和订单咨询。

我们使用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. "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">      
  2.           
  3.         
  4.          
  5.          
  6.           
  7.            
  8.     
  9.         
  10.    

我们只需修改"Contact.xml"并使用 标签来在iBatis中调用存储过程

 
 
 
 
  1.     
  2.    { call showData() }  

上面几行代码调用了存储过程并集合了contract表.下面是Contact.xml的代码 :

 
 
 
 
  1. "http://ibatis.apache.org/dtd/sql-map-2.dtd">
  2.   
  3.       
  4.         
  5.       { call showData()}     

现在我们可以这样在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 contacts = (List)   
  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接口应用的浅析

文章标题:分步详解 如何在iBatis中调用存储过程
网站URL:http://www.mswzjz.com/qtweb/news14/176814.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联