Spring4-BeanPropertyRowMapper-查询多行

1.创建项目,项目名称(springdemo9),如图所示

2.在项目中创建目录(src->源码目录,test->测试目录,source->配置文件目录,lib->jar包目录),如图所示

3.在lib中创建相应的jar包目录,主要用于区分jar包.如图所示

4.在lib的相应的jar包目录中添加jar包.如图所示

5.在src目录创建实体Bean Forum,包名(com.mycompany.shequ.bean),如图所示

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)如图所示

8.接口ForumDao的内容如下

package com.mycompany.shequ.dao;

import java.util.List;

import com.mycompany.shequ.bean.Forum;

public interface ForumDao {
	public List<Forum> findAll();
}

9.在src目录中创建ForumDao的实现类ForumDaoImpl,包名(com.mycompany.shequ.dao.impl),如图所示

10.ForumDao的实现类ForumDaoImpl的内容如下

package com.mycompany.shequ.dao.impl;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import org.springframework.jdbc.core.BeanPropertyRowMapper;
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 List<Forum> findAll() {
		String sql = "select * from hnsq_forum";
		List<Forum> forumList = new ArrayList<Forum>();
		forumList = getJdbcTemplate().query(sql, new BeanPropertyRowMapper(Forum.class));

		return forumList;
	}
}

11.在source目录中创建配置文件spring-datasource.xml,如图所示

12.配置文件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>

13.在source目录中创建配置文件applicationContext.xml,如图所示

14.配置文件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>

15.在test目录中创建ForumDaoImplTest测试类,包名(com.mycompany.shequ.dao.impl),如图所示

16.ForumDaoImplTest测试类的内容如下

package com.mycompany.shequ.dao.impl;

import java.util.List;

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 testFindAll(){
	    ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

    	    ForumDao forumDao = (ForumDao) context.getBean("forumDao");

	    List<Forum> forumList = forumDao.findAll();
	        for(Forum forum : forumList){
		    System.out.println(forum.getFid() + "_____" + forum.getName());
	    }

	}
}

17.运行测试类中的testFindAll方法,运行结果如图所示

时间: 2024-12-09 23:55:06

Spring4-BeanPropertyRowMapper-查询多行的相关文章

sql使用row_number()查询标记行号

背景: 在分页功能中,记录需分页显示,需要row_number()函数标记行号. 数据表: 排序之前数据表显示: sql语句: 1 select ROW_NUMBER() over(order by id) as RowNum,Name,Val from T1 检索结果: 注意:Leslie的ID为Null,经过排序之后,rows却升为了首位. 常见错误:列名RowNum失效. 解释:在sql中热名称(即刚定的名称RowNum)不能马上使用,需要包一层查询.比如说:实现分页显示,只想查询1-5行

SQL查询语句行转列横向显示

SQL查询语句行转列横向显示 2011-03-15 10:00:14|  分类: sql |  标签:resource   |举报 |字号大中小 订阅 在SQL查询语句行转列横向显示中access中没有CASE,要用IIF代替 select  iif(sex= '1 ', '男 ', '女 ')  from  tablename 示例1: select country, sum(case when type='A' then money end) as A, sum(case when type

linux grep 查询多行的方法

linux grep 查询多行的方法 经常查询 git log 中使用的方法, 如下 git log |grep "xxxx" 如果想查询多行的话, 就有些尴尬, 如果想查询多行的话, 方法如下: //查询上下 git log |grep "xxxx" -C 5 //查询往后 after git log |grep "xxxx" -A 5 //查询往前 before git log |grep "xxxx" -B 5 原文地址

SQL查询显示行号、随机查询、取指定行数据

1.显示行号 如果数据没有删除的情况下主键与行号是一致的,但在删除某些数据,行号就与主键不一致了,这时需要查询行号就需要用新的方法,在SQL Server2005之前,需要使用临时表,但在SQL Server2005中,使用ROW_NUMBER()非常方便. select row_number() over (order by UseriD) as rowNum,* from UserInfo 查询结果: 2.随机查询 有的时候我们需要查询出的数据是随机排序的,newid()函数在扫描每条记录时

使用 PIVOT 和 UNPIVOT实现查询结果行转列

语法: SELECT <非透视的列>, [第一个透视的列] AS <列名称>, [第二个透视的列] AS <列名称>, ... [最后一个透视的列] AS <列名称>, FROM (<生成数据的 SELECT 查询>) AS <源查询的别名> PIVOT ( <聚合函数>(<要聚合的列>) FOR [<包含要成为列标题的值的列>] IN ( [第一个透视的列], [第二个透视的列], ... [最后

oracle查询多行数据合并成一行数据

如果是oracle 10g以上 一个wm_concat函数就可以解决. 如果是oracle 9i以下就有点麻烦了. 表结构如下: NAME Null Type ------------------------ --------- ----- N_SEC_CODE NOT NULL CHAR(6) C_RESEARCHER_CODE NOT NULL VARCHAR2(20) 此表保存了“股票”与“研究员”的对应关系数据,一般而言,对于同一只股票而言,可能有多个研究员 对其进行跟踪研究.所以目前遇

SQL查询多行合并成一行

问题描述:无论是在sql 2000,还是在 sql 2005 中,都没有提供字符串的聚合函数,  所以,当我们在处理下列要求时,会比较麻烦:有表tb, 如下:id    value----- ------1     aa1     bb2     aaa2     bbb2     ccc需要得到结果:id     values------ -----------1      aa,bb2      aaa,bbb,ccc即, group by id, 求 value 的和(字符串相加) 1.

MySQL的JDBC判断查询结果是否为空以及获取查询结果行数的方法

判断查询结果是否为空 在JDBC中没有方法hasNext去判断是否有下一条数据,但是我们可以使用next方法来代替. 看next方法的官方解释: boolean next() throws Moves the cursor forward one row from its current position. A ResultSet cursor is initially positioned before the first row; the first call to the method n

MySQL查询结果行转列、列转行

一.行转列 有如图所示的表,现在希望查询的结果将行转成列 建表语句如下: CREATE TABLE `TEST_TB_GRADE` ( `ID` int(10) NOT NULL AUTO_INCREMENT, `USER_NAME` varchar(20) DEFAULT NULL, `COURSE` varchar(20) DEFAULT NULL, `SCORE` float DEFAULT '0', PRIMARY KEY (`ID`) ) ENGINE=InnoDB AUTO_INCR

查询制定行数的数据(2)对了,mysql不能用top关键字

采用嵌套查询的方式,倒序之后前10条 倒序之后前9条 采用嵌套查询的方式,倒序之后前10条 排正序之后从第一条开始弄十条数据 排正序之后从第一条开始弄九条数据 排正序之后从第十条开始弄十条数据 排正序之后从第一条开始弄五条数据 备注:不在乎别人的看法.