1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > ibatis mysql存储过程_分步详解 如何在iBatis中调用存储过程

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

时间:2023-06-29 05:10:24

相关推荐

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

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

我们使用MySQL数据库,并且使用和上一个例子中一样的Contact表.

我们在数据库"vin"中创建了一个叫showData()的存储过程,它将显示Contract表中的所有的contact信息.为了创建存储过程,我们打开MySQL并创建如下定义的过程 :

DELIMITER$$DROPPROCEDUREIFEXISTS`vin`.`showData`$$CREATEPROCEDURE`vin`.`showData`()BEGINselect*fromContact;END$$DELIMITER;

"Contact.java"和"SqlMapConfig.xml"与上一个例子中的是一样的 :

publicclassContact{privateStringfirstName;

privateStringlastName;privateStringemail;

privateintid;publicContact(){}

publicContact(StringfirstName,StringlastName,Stringemail){this.firstName=firstName;

this.lastName=lastName;this.email=email;}

publicStringgetEmail(){returnemail;}

publicvoidsetEmail(Stringemail){this.email=email;}

publicStringgetFirstName(){returnfirstName;}

publicvoidsetFirstName(StringfirstName){this.firstName=firstName;}

publicintgetId(){returnid;}publicvoidsetId(intid){this.id=id;}

publicStringgetLastName(){returnlastName;}publicvoidsetLastName(StringlastName){this.lastName=lastName;}}

SqlMapConfig.xml

"/dtd/sql-map-config-2.dtd">

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

{callshowData()}

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

"/dtd/sql-map-2.dtd">

{callshowData()}

现在我们可以这样在iBatis中调用存储过程 :

sqlMap.queryForList("Contact.storedInfo",null); "sqlMap"是SqlMapClient类的一个对象. IbatisStoredProcedure.java的代码如下 :

mon.resources.Resources;

importcom.ibatis.sqlmap.client.SqlMapClient;

importcom.ibatis.sqlmap.client.SqlMapClientBuilder;

importjava.io.*;importjava.sql.SQLException;

importjava.util.*;

publicclassIbatisStoredProcedure{publicstaticvoidmain(String[]args)

throwsIOException,SQLException{Readerreader=Resources.getResourceAsReader("SqlMapConfig.xml");

SqlMapClientsqlMap=SqlMapClientBuilder.buildSqlMapClient(reader);System.out.println("AllContacts");

Listcontacts=(List)

sqlMap.queryForList("Contact.storedInfo",null);

Contactcontact=null;

for(Contactc: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信息将在你的命令提示符下显示 :

【编辑推荐】

【责任编辑:刘翰 TEL:(010)68476606】

点赞 0

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。