【Spring+MAVEN+IBatis+MySQL】简单例子

引用

【Spring+MAVEN+IBatis+MySQL】简单例子
1. pom.xml中除了springframe配置(略),加入代码如下
	<dependency>
	  <groupId>org.apache.ibatis</groupId>
	  <artifactId>ibatis-sqlmap</artifactId>
	  <version>2.3.4.726</version>
	</dependency>
	
	<dependency>
	  <groupId>mysql</groupId>
	  <artifactId>mysql-connector-java</artifactId>
	  <version>5.1.30</version>
	</dependency>
	
	<dependency>
	  <groupId>commons-dbcp</groupId>
	  <artifactId>commons-dbcp</artifactId>
	  <version>1.4</version>
	</dependency>

	<dependency>
	  <groupId>cglib</groupId>
	  <artifactId>cglib</artifactId>
	  <version>3.1</version>
	</dependency>

2. 加入sql-map-config.xml IBatis Config配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
        "http://ibatis.apache.org/dtd/sql-map-config-2.dtd" >
<sqlMapConfig>
    <settings useStatementNamespaces="true"/>
	<sqlMap resource="section5/sec5-sql.xml"/>
</sqlMapConfig>

3. 配置spring的bean
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
		<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
   		<property name="url" value="jdbc:mysql://localhost/test" />
   		<property name="username" value="root" />
   		<property name="password" value="1111" />
   		<property name="initialSize" value="5" />
   		<property name="maxActive" value="10" />
	</bean>

    <bean id="sqlMapClient"     class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
    	<property name="dataSource" ref="dataSource"/>
    	<property name="configLocation" value="sql-map-config.xml" />
    </bean>
    
    <bean id="sqlMapClientTemplate" class="org.springframework.orm.ibatis.SqlMapClientTemplate">
	<property name="dataSource" ref="dataSource" />
	<property name="sqlMapClient" ref="sqlMapClient"/>
    </bean>
	
    <bean id="personIbatisDAO" class="com.lh.springtest.section5.PersonIbatisDAO">
    	<property name="sqlMapClientTemplate" ref="sqlMapClientTemplate"/>
    </bean>	 
         

4. sec5-sql.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="sec5">
	<typeAlias alias="hmap" type="java.util.HashMap"/>
	<select id="getPersons" resultClass="hmap">
		select * from person
	</select>
</sqlMap>    

5. PersonIbatisDAO.java
public class PersonIbatisDAO implements BaseDAO{
	private List<Map<String, Object>> resultList = null;
	private Map<String, Object> prepareMap = null;
	private SqlMapClientTemplate sqlMapClientTemplate;
	
	public void setSqlMapClientTemplate(SqlMapClientTemplate sqlMapClientTemplate) {
		this.sqlMapClientTemplate = sqlMapClientTemplate;
	}

	@Override
	public List<Map<String, Object>> searchPersons() {
		List<Map<String, Object>> resultList = sqlMapClientTemplate.queryForList("sec5.getPersons", prepareMap);
		return resultList;
	}
}

6. JUnit Test:PersonIbatisTest.java
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:section5/sec5.xml"})

public class PersonIbatisTest {
	   @Autowired
	   @Qualifier("personIbatisDAO")
	   private PersonIbatisDAO personIbatisDAO;
	   
	   List<Map<String, Object>> resultList = null;
	   Map<String, Object> resultmap = null;
	   
	   @Test
	   public void searchPersonsTest() {
		   resultList = personIbatisDAO.searchPersons();
		   System.out.println("searchPersonsTest=>"+resultList);
	   }
}

猜你喜欢

转载自lianghua840716.iteye.com/blog/2039017