`
8792321
  • 浏览: 39210 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

ibatis调用mysql存储过程示例

阅读更多

配置文件:

sqlMapConfig.xml

 

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE sqlMapConfig      
    PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"      
    "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">

<sqlMapConfig>

	<settings cacheModelsEnabled="true"
			  enhancementEnabled="true"
			  lazyLoadingEnabled="true"
			  maxRequests="32"
			  maxSessions="10"
			  maxTransactions="5"
			  useStatementNamespaces="true"
			/>

  <!-- Configure a built-in transaction manager.  If you're using an 
       app server, you probably want to use its transaction manager 
       and a managed datasource -->
  <transactionManager type="JDBC" commitRequired="false">
    <dataSource type="proxool.ProxoolDataSourceFactory">
      <property name="driver" value="com.mysql.jdbc.Driver"/>
      <property name="driverUrl" value="jdbc:mysql://localhost:3306/test"/>
      <property name="user" value="root"/>
      <property name="password" value="root"/>
      <property name="alias" value="default"/>
      <property name="maximum-connection-count" value="40"/>
      <property name="overload-without-refusal-lifetime" value="60"/>
      <property name="house-keeping-test-sql" value="select 1"/>  
    </dataSource>
  </transactionManager>


  <sqlMap resource="proxool/User.xml"/>

</sqlMapConfig>

 

User.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap
PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">

<sqlMap namespace="user">

	<!-- 返回结果集 -->
	<parameterMap id="ParameterMap" class="map">
	    <parameter property="userNo" jdbcType="INTEGER" javaType="java.lang.Integer" mode="IN"/>
  	</parameterMap>

	<procedure id="call_SearchUser" parameterMap="ParameterMap" resultClass="proxool.User">
		{call selectuser(?)} 
	</procedure>

</sqlMap>

 

数据库脚本:

create procedure selectuser(in userno int) 
begin   
 select * from user where uid = userno;   
end 

 

 pojo类:

package proxool;

public class User {

	private String uid;

	private String usercd;

	private String password;

	private String addymd;

	public String getAddymd() {
		return addymd;
	}

	public void setAddymd(String addymd) {
		this.addymd = addymd;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getUid() {
		return uid;
	}

	public void setUid(String uid) {
		this.uid = uid;
	}

	public String getUsercd() {
		return usercd;
	}

	public void setUsercd(String usercd) {
		this.usercd = usercd;
	}

}

 

测试代码: 

List list = null;
		String resource = "proxool/sqlMapConfig.xml";
		Reader reader;
		SqlMapClient sqlMap = null;
		try {
			reader = Resources.getResourceAsReader(resource);
			sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
			sqlMap.startTransaction();
			HashMap<String, Object> map = new HashMap<String, Object>();
			map.put("userNo", 1);
			list = sqlMap.queryForList("user.call_SearchUser", map);
			for (int i = 0; i < list.size(); i++) {
				User user = (User) list.get(i);
				System.out.print(user.getUid());
				System.out.print('\t');
				System.out.print(user.getUsercd());
				System.out.print('\t');
				System.out.println(user.getPassword());
			}
			sqlMap.commitTransaction();
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			sqlMap.endTransaction();
		}		

 

分享到:
评论
1 楼 fnye 2012-07-06  
[b][/b][i][/i][u][/u]
引用

    [*]
[img][/img][url][/url]

相关推荐

Global site tag (gtag.js) - Google Analytics