ibatis调用mysql存储过程示例

配置文件:

sqlMapConfig.xml

 

Xml代码  收藏代码
  1. xml version="1.0" encoding="UTF-8" ?>  
  2.   
  3.     PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"        
  4.     "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">  
  5.   
  6. <sqlMapConfig>  
  7.   
  8.     <settings cacheModelsEnabled="true"  
  9.               enhancementEnabled="true"  
  10.               lazyLoadingEnabled="true"  
  11.               maxRequests="32"  
  12.               maxSessions="10"  
  13.               maxTransactions="5"  
  14.               useStatementNamespaces="true"  
  15.             />  
  16.   
  17.     
  18.     <parameterMap id="ParameterMap" class="map">  
  19.         <parameter property="userNo" jdbcType="INTEGER" javaType="java.lang.Integer" mode="IN"/>  
  20.     parameterMap>  
  21.   
  22.     <procedure id="call_SearchUser" parameterMap="ParameterMap" resultClass="proxool.User">  
  23.         {call selectuser(?)}   
  24.     procedure>  
  25.   
  26. sqlMap>  

 

数据库脚本:

Sql代码  收藏代码
  1. create procedure selectuser(in userno int)   
  2. begin     
  3.  select * from user where uid = userno;     
  4. end   

 

 pojo类:

Java代码  收藏代码
  1. package proxool;  
  2.   
  3. public class User {  
  4.   
  5.     private String uid;  
  6.   
  7.     private String usercd;  
  8.   
  9.     private String password;  
  10.   
  11.     private String addymd;  
  12.   
  13.     public String getAddymd() {  
  14.         return addymd;  
  15.     }  
  16.   
  17.     public void setAddymd(String addymd) {  
  18.         this.addymd = addymd;  
  19.     }  
  20.   
  21.     public String getPassword() {  
  22.         return password;  
  23.     }  
  24.   
  25.     public void setPassword(String password) {  
  26.         this.password = password;  
  27.     }  
  28.   
  29.     public String getUid() {  
  30.         return uid;  
  31.     }  
  32.   
  33.     public void setUid(String uid) {  
  34.         this.uid = uid;  
  35.     }  
  36.   
  37.     public String getUsercd() {  
  38.         return usercd;  
  39.     }  
  40.   
  41.     public void setUsercd(String usercd) {  
  42.         this.usercd = usercd;  
  43.     }  
  44.   
  45. }  

 

测试代码: 

Java代码  收藏代码
  1. List list = null;  
  2.         String resource = "proxool/sqlMapConfig.xml";  
  3.         Reader reader;  
  4.         SqlMapClient sqlMap = null;  
  5.         try {  
  6.             reader = Resources.getResourceAsReader(resource);  
  7.             sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);  
  8.             sqlMap.startTransaction();  
  9.             HashMap map = new HashMap();  
  10.             map.put("userNo"1);  
  11.             list = sqlMap.queryForList("user.call_SearchUser", map);  
  12.             for (int i = 0; i < list.size(); i++) {  
  13.                 User user = (User) list.get(i);  
  14.                 System.out.print(user.getUid());  
  15.                 System.out.print('\t');  
  16.                 System.out.print(user.getUsercd());  
  17.                 System.out.print('\t');  
  18.                 System.out.println(user.getPassword());  
  19.             }  
  20.             sqlMap.commitTransaction();  
  21.         } catch (Exception e) {  
  22.             e.printStackTrace();  
  23.         } finally {  
  24.             sqlMap.endTransaction();  
  25.         }


出处:http://8792321.iteye.com/blog/961606

请使用浏览器的分享功能分享到微信等