ITPub博客

首页 > 数据库 > MySQL > ibatis调用mysql存储过程示例

ibatis调用mysql存储过程示例

MySQL 作者:dawn009 时间:2015-06-01 09:33:00 0 删除 编辑

配置文件:

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.   <!-- Configure a built-in transaction manager.  If you're using an   
  18.        app server, you probably want to use its transaction manager   
  19.        and a managed datasource -->  
  20.   <transactionManager type="JDBC" commitRequired="false">  
  21.     <dataSource type="proxool.ProxoolDataSourceFactory">  
  22.       <property name="driver" value="com.mysql.jdbc.Driver"/>  
  23.       <property name="driverUrl" value="jdbc:mysql://localhost:3306/test"/>  
  24.       <property name="user" value="root"/>  
  25.       <property name="password" value="root"/>  
  26.       <property name="alias" value="default"/>  
  27.       <property name="maximum-connection-count" value="40"/>  
  28.       <property name="overload-without-refusal-lifetime" value="60"/>  
  29.       <property name="house-keeping-test-sql" value="select 1"/>    
  30.     dataSource>  
  31.   transactionManager>  
  32.   
  33.   
  34.   <sqlMap resource="proxool/User.xml"/>  
  35.   
  36. sqlMapConfig>  

 

User.xml

Xml代码  收藏代码
  1. xml version="1.0" encoding="UTF-8"?>  
  2. PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"  
  3. "http://ibatis.apache.org/dtd/sql-map-2.dtd">  
  4.   
  5. <sqlMap namespace="user">  
  6.   
  7.     <!-- 返回结果集 -->  
  8.     <parameterMap id="ParameterMap" class="map">  
  9.         <parameter property="userNo" jdbcType="INTEGER" javaType="java.lang.Integer" mode="IN"/>  
  10.     parameterMap>  
  11.   
  12.     <procedure id="call_SearchUser" parameterMap="ParameterMap" resultClass="proxool.User">  
  13.         {call selectuser(?)}   
  14.     procedure>  
  15.   
  16. 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

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29119536/viewspace-1680143/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-08-15

  • 博文量
    595
  • 访问量
    4988533