Spring4-RowMapper

1.創建項目,項目名稱(springdemo6),如圖所示

wKiom1jR3AbQhVHkAAAVFKz7WoQ437.png-wh_50


2.在項目中創建目錄(src->源碼目錄,test->測試目錄,source->配置文件目錄,lib->jar包目錄),如圖所示

wKiom1jR3E6ixobtAAAva2qfx6w223.png-wh_50


3.在lib中創建相應的jar包目錄,主要用於區分jar包.如圖所示

wKiom1jR3HfQVFa6AAA7HOGPIxA306.png-wh_50


4.在lib的相應的jar包目錄中添加jar包.如圖所示

wKiom1jR3K6Rr9aiAACbv6AMkJA744.png-wh_50


5.在src目錄創建實體Bean Forum,包名(com.mycompany.shequ.bean),如圖所示

wKiom1jR3NuDqfKLAABEOtis2u8247.png-wh_50


6.實體Bean Forum的內容如下

package com.mycompany.shequ.bean;

public class Forum {
	private int fid;
	private String name;
	public int getFid() {
		return fid;
	}
	public void setFid(int fid) {
		this.fid = fid;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
}


7.在src目錄創建接口ForumDao,包名(com.mycompany.shequ.dao)如圖所示

wKioL1jR3T6hdq8WAABFIrMNXvk496.png-wh_50


8.接口ForumDao的內容如下

package com.mycompany.shequ.dao;

import com.mycompany.shequ.bean.Forum;

public interface ForumDao {
	public Forum findByForumId(int fid);
}


9.在src目錄中創建RowMapper的實現類ForumRowMapper,包名(com.mycompany.shequ.dao.impl),如圖所示

wKioL1jR3bnjODa_AABG381i_Pw775.png-wh_50


10.RowMapper的實現類ForumRowMapper的內容如下

package com.mycompany.shequ.dao.impl;

import java.sql.ResultSet;
import java.sql.SQLException;

import org.springframework.jdbc.core.RowMapper;

import com.mycompany.shequ.bean.Forum;

public class ForumRowMapper implements RowMapper<Forum> {

	@Override
	public Forum mapRow(ResultSet rs, int rowNum) throws SQLException {
		Forum forum = new Forum();
		forum.setFid(rs.getInt("fid"));
		forum.setName(rs.getString("name"));
		return forum;
	}
	
}


11.在src目錄中創建ForumDao的實現類ForumDaoImpl,包名(com.mycompany.shequ.dao.impl),如圖所示

wKioL1jR3hiQXAD0AABMFyg0eM0365.png-wh_50


12.ForumDao的實現類ForumDaoImpl的內容如下

package com.mycompany.shequ.dao.impl;


import javax.sql.DataSource;

import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.support.JdbcDaoSupport;

import com.mycompany.shequ.bean.Forum;
import com.mycompany.shequ.dao.ForumDao;

public class ForumDaoImpl extends JdbcDaoSupport implements ForumDao {
	

	@Override
	public Forum findByForumId(int fid) {
		String sql = "select * from hnsq_forum where fid = ?";
		Forum forum = (Forum)getJdbcTemplate().queryForObject(sql, new Object[]{fid},
		new ForumRowMapper());
		return forum;
	}
}


13.在source目錄中創建配置文件spring-datasource.xml,如圖所示

wKioL1jR3oizBr_iAAA4rVbsG0Y252.png-wh_50


14.配置文件spring-datasource.xml的內容如下

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
	http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

	<bean id="dataSource"
		class="org.springframework.jdbc.datasource.DriverManagerDataSource">

		<property name="driverClassName" value="com.mysql.jdbc.Driver" />
		<property name="url" value="jdbc:mysql://localhost:3306/b_shequ_two" />
		<property name="username" value="root" />
		<property name="password" value="" />
	</bean>

</beans>


15.在source目錄中創建配置文件applicationContext.xml,如圖所示

wKiom1jR3tDgHnH6AAA5HKgfms8755.png-wh_50


16.配置文件applicationContext.xml的內容如下

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
	http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
	
	<import resource="spring-datasource.xml" />

	<bean id="forumDao" class="com.mycompany.shequ.dao.impl.ForumDaoImpl">
		<property name="dataSource" ref="dataSource" />
	</bean>

</beans>


17.在test目錄中創建ForumDaoImplTest測試類,包名(com.mycompany.shequ.dao.impl),如圖所示

wKiom1jR3xegyiHPAAA6OVqDHnA478.png-wh_50


18.ForumDaoImplTest測試類的內容如下


package com.mycompany.shequ.dao.impl;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.mycompany.shequ.bean.Forum;
import com.mycompany.shequ.dao.ForumDao;

public class ForumDaoImplTest {
	
	@Test
	public void testFindByForumId(){
		ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
		
		ForumDao forumDao = (ForumDao) context.getBean("forumDao");
		
		Forum forum = forumDao.findByForumId(40);
		System.out.println(forum.getName());
	}
}


19.運行測試類中的testFindByForumId方法,運行結果如圖所示

wKioL1jR34LSbvStAAEypKfDw-E574.png-wh_50


20.自定義的RowMapping完成.

wKioL1jUiM7A5WV8AABwCKMO5XE292.png-wh_50

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章