通过iBatis我们可以在数据库表中执行内嵌的insert , delete, update SQL命令。本文中你将看到如何在iBatis中调用存储过程.
成都创新互联公司成立于2013年,我们提供高端网站建设、成都网站制作、成都网站设计公司、网站定制、全网整合营销推广、成都小程序开发、微信公众号开发、成都网站营销服务,提供专业营销思路、内容策划、视觉设计、程序开发来完成项目落地,为成都广告制作企业提供源源不断的流量和订单咨询。
我们使用MySQL数据库,并且使用和上一个例子中一样的Contact表.
我们在数据库"vin"中创建了一个叫showData()的存储过程,它将显示Contract表中的所有的contact信息.为了创建存储过程,我们打开MySQL并创建如下定义的过程 :
- 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中调用存储过程
- { call showData() }
上面几行代码调用了存储过程并集合了contract表.下面是Contact.xml的代码 :
- "http://ibatis.apache.org/dtd/sql-map-2.dtd">
- { call showData()}
现在我们可以这样在iBatis中调用存储过程 :
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(""); } }}
请依照如下步骤执行在iBatis中调用存储过程 :
创建Contact.xml和SqlMapConfig.xml
创建Contact.java并将其编译
创建IbatisStoredProcedure.java并将其编译
执行IbatisStoredProcedure类文件,所有的Contract信息将在你的命令提示符下显示 :
【编辑推荐】
文章标题:分步详解 如何在iBatis中调用存储过程
网站URL:http://www.mswzjz.com/qtweb/news14/176814.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联