引用
【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); } }