ibatis配置流程

本次主要了解一下ibatis的配置,配置文件会在程序启动时由web.xml读取,web.xml就不说了。本次写的都是一些流程,这样做就可以实现,只有先实现了才能更深入的理解其精髓。--菜鸟心得,如有错误,还望告知。

ibatis配置文件在配置时首先会想到应该配置dataSource(因为要和数据库打交道嘛),另外还要配置sqlMapClient

1.配置文件如下

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">

    <bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName">
            <value>com.mysql.jdbc.Driver</value>
        </property>
        <property name="url">
            <value>jdbc:mysql://127.0.0.1:3306/user</value>
        </property>
        <property name="username">
            <value>root</value>
        </property>
        <property name="password">
            <value>admin</value>
        </property>
    </bean>
    
    <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
        <property name="configLocation">
            <value>WEB-INF/sqlMapConfig.xml</value>
        </property>    </bean>
    
    <bean id="userDAO" class="com.gc.action.UserDAO">
        <property name="dataSource">
            <ref bean="dataSource"/>
        </property>
        <property name="sqlMapClient">
            <ref bean="sqlMapClient"/>
        </property>
    </bean>
</beans>

 

  2.在上面的配置文件中可以看到,配置文件需要找sqlMapConfig.xml,所以下面配置这个文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig 
PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" 
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
    <settings cacheModelsEnabled="true" enhancementEnabled="true"
        lazyLoadingEnabled="true" maxRequests="32" maxSessions="10"
        maxTransactions="5" useStatementNamespaces="true" />
    <sqlMap resource="com/gc/action/user.xml" />
</sqlMapConfig>

3.在上面的文件中要用到user.xml,下面配置

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" 
"http://ibatis.apache.org/dtd/sql-map-2.dtd" >
<sqlMap namespace="User">
    <resultMap id="ibatisTest" class="com.gc.action.User">
        <result column="userId" property="userId" jdbcType="VARCHAR" />
        <result column="userName" property="userName" jdbcType="VARCHAR" />
    </resultMap>

    <!-- 获得全查询列表 -->
    <select id="finduser" resultMap="ibatisTest">
        select * from userInfo
    </select>

</sqlMap>


4.在user.xml中会有一个和数据库表格对应的实体类,com.gc.action.User

package com.gc.action;

import java.io.Serializable;

public class User implements Serializable{

	private String userId;
	private String userName;
	public String getUserId() {
		return userId;
	}
	public void setUserId(String userId) {
		this.userId = userId;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
}

  5.测试在UserDao中进行数据访问

package com.gc.action;

import java.util.List;

import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;

public class UserDAO extends SqlMapClientDaoSupport{

	public List<User> search(){
		List<User> userList=(List<User>)getSqlMapClientTemplate().queryForList("User.finduser");
		return userList;
	}
	public void display(){
		List<User> userList = this.search();
		for(User user : userList){
			System.out.println(user.getUserId());
		}
	}
}

  这样通过访问UserDAO的display()方法就能数据数据。

6.总结:

在本次开发中会用到如下一些jar包:

spring-orm-3.2.0.M1.jar   :jar包中包括下面两个将会用到的文件

org.springframework.orm.ibatis.SqlMapClientFactoryBean.class    org.springframework.orm.ibatis.support.SqlMapClientDaoSupport.class

ibatis-2.3.0.677.jar    

mysql-connector-java-5.1.7-bin.jar

 

posted on 2012-10-11 15:18  zzjjian333  阅读(256)  评论(0编辑  收藏  举报