您的位置:首页 > 编程语言 > Java开发

Spring使用JdbcTemplate实现对数据库操作

2016-11-16 13:05 621 查看
转载于:http://www.16boke.com/article/detail/15

spring数据库的操作使用JdbcTemplate来封装JDBC,结合Spring的注入特性可以很方便的实现对数据库的访问操作。

使用JdbcTemplate可以像JDBC一样来编写数据库的操作代码,与hibernate相比对SQL语句的控制上会更灵活,下面以一个例子来讲解JdbcTemplate的使用及相应的API。






一、实体Bean

[java] view
plain copy







package com.orm.dto;

import java.sql.Timestamp;

public class AreaDto implements java.io.Serializable {

private static final long serialVersionUID = 1L;

private Integer areaid;

private String area_name;

private String area_detail;

private Integer floor_id;

private Integer build_id;

private String region_name;

private String sortno;

private Timestamp insert_time;

private Timestamp update_time;

private Integer operate_id;

public AreaDto() {

}

public AreaDto(Integer areaid) {

this.areaid = areaid;

}

public Integer getAreaid() {

return areaid;

}

public void setAreaid(Integer areaid) {

this.areaid = areaid;

}

public String getArea_name() {

return area_name;

}

public void setArea_name(String area_name) {

this.area_name = area_name;

}

public String getArea_detail() {

return area_detail;

}

public void setArea_detail(String area_detail) {

this.area_detail = area_detail;

}

public Integer getFloor_id() {

return floor_id;

}

public void setFloor_id(Integer floor_id) {

this.floor_id = floor_id;

}

public Integer getBuild_id() {

return build_id;

}

public void setBuild_id(Integer build_id) {

this.build_id = build_id;

}

public String getRegion_name() {

return region_name;

}

public void setRegion_name(String region_name) {

this.region_name = region_name;

}

public String getSortno() {

return sortno;

}

public void setSortno(String sortno) {

this.sortno = sortno;

}

public Timestamp getInsert_time() {

return insert_time;

}

public void setInsert_time(Timestamp insert_time) {

this.insert_time = insert_time;

}

public Timestamp getUpdate_time() {

return update_time;

}

public void setUpdate_time(Timestamp update_time) {

this.update_time = update_time;

}

public Integer getOperate_id() {

return operate_id;

}

public void setOperate_id(Integer operate_id) {

this.operate_id = operate_id;

}

}

[java] view
plain copy







package com.orm.dto;

import java.sql.Timestamp;

public class BuildingDto implements java.io.Serializable {

private static final long serialVersionUID = 1L;

private Integer buildid;

private String buildname;

private String detail;

private String sortno;

private Timestamp insertTime;

private Timestamp updateTime;

private Integer operateId;

public BuildingDto() {

}

public BuildingDto(Integer buildid) {

this.buildid = buildid;

}

public BuildingDto(Integer buildid, String buildname, String detail, String sortno, Timestamp insertTime,

Timestamp updateTime, Integer operateId) {

this.buildid = buildid;

this.buildname = buildname;

this.detail = detail;

this.sortno = sortno;

this.insertTime = insertTime;

this.updateTime = updateTime;

this.operateId = operateId;

}

public Integer getBuildid() {

return this.buildid;

}

public void setBuildid(Integer buildid) {

this.buildid = buildid;

}

public String getBuildname() {

return this.buildname;

}

public void setBuildname(String buildname) {

this.buildname = buildname;

}

public String getDetail() {

return this.detail;

}

public void setDetail(String detail) {

this.detail = detail;

}

public String getSortno() {

return this.sortno;

}

public void setSortno(String sortno) {

this.sortno = sortno;

}

public Timestamp getInsertTime() {

return this.insertTime;

}

public void setInsertTime(Timestamp insertTime) {

this.insertTime = insertTime;

}

public Timestamp getUpdateTime() {

return this.updateTime;

}

public void setUpdateTime(Timestamp updateTime) {

this.updateTime = updateTime;

}

public Integer getOperateId() {

return this.operateId;

}

public void setOperateId(Integer operateId) {

this.operateId = operateId;

}

}

[java] view
plain copy







package com.orm.dto;

import java.sql.Timestamp;

public class FloorDto implements java.io.Serializable {

private static final long serialVersionUID = 1L;

private Integer floorid;

private String floorname;

private Integer floor;

private String detail;

private Integer buildId;

private String sortno;

private Timestamp insertTime;

private Timestamp updateTime;

private Integer operateId;

public FloorDto() {

}

public FloorDto(Integer floorid) {

this.floorid = floorid;

}

public Integer getFloorid() {

return this.floorid;

}

public void setFloorid(Integer floorid) {

this.floorid = floorid;

}

public String getFloorname() {

return this.floorname;

}

public void setFloorname(String floorname) {

this.floorname = floorname;

}

public String getDetail() {

return this.detail;

}

public void setDetail(String detail) {

this.detail = detail;

}

public Integer getBuildId() {

return this.buildId;

}

public void setBuildId(Integer buildId) {

this.buildId = buildId;

}

public String getSortno() {

return this.sortno;

}

public void setSortno(String sortno) {

this.sortno = sortno;

}

public Timestamp getInsertTime() {

return this.insertTime;

}

public void setInsertTime(Timestamp insertTime) {

this.insertTime = insertTime;

}

public Timestamp getUpdateTime() {

return this.updateTime;

}

public void setUpdateTime(Timestamp updateTime) {

this.updateTime = updateTime;

}

public Integer getOperateId() {

return this.operateId;

}

public void setOperateId(Integer operateId) {

this.operateId = operateId;

}

public Integer getFloor() {

return floor;

}

public void setFloor(Integer floor) {

this.floor = floor;

}

}

[java] view
plain copy







package com.orm.dto;

import java.sql.Timestamp;

public class StoreDto implements java.io.Serializable {

private static final long serialVersionUID = 1L;

private Integer id;

private String storename;

private String storenameen;

private String storeno;

private Integer build_Id;

private Integer floor_Id;

private Integer area_Id;

private Integer type_Id;

private Integer point_Id;

private String storeowner;

private String area;

private String remark;

private String status;

private String sortno;

private Timestamp inserttime;

private Timestamp updatetime;

private Integer operateid;

public StoreDto() {

}

public StoreDto(Integer id) {

this.id = id;

}

public Integer getId() {

return this.id;

}

public void setId(Integer id) {

this.id = id;

}

public String getStorename() {

return this.storename;

}

public void setStorename(String storename) {

this.storename = storename;

}

public String getStorenameen() {

return this.storenameen;

}

public void setStorenameen(String storenameen) {

this.storenameen = storenameen;

}

public String getStoreno() {

return this.storeno;

}

public void setStoreno(String storeno) {

this.storeno = storeno;

}

public Integer getBuild_Id() {

return this.build_Id;

}

public void setBuild_Id(Integer build_Id) {

this.build_Id = build_Id;

}

public Integer getFloor_Id() {

return this.floor_Id;

}

public void setFloor_Id(Integer floor_Id) {

this.floor_Id = floor_Id;

}

public Integer getArea_Id() {

return this.area_Id;

}

public void setArea_Id(Integer area_Id) {

this.area_Id = area_Id;

}

public Integer getType_Id() {

return this.type_Id;

}

public void setType_Id(Integer type_Id) {

this.type_Id = type_Id;

}

public Integer getPoint_Id() {

return this.point_Id;

}

public void setPoint_Id(Integer point_Id) {

this.point_Id = point_Id;

}

public String getStoreowner() {

return this.storeowner;

}

public void setStoreowner(String storeowner) {

this.storeowner = storeowner;

}

public String getArea() {

return this.area;

}

public void setArea(String area) {

this.area = area;

}

public String getRemark() {

return this.remark;

}

public void setRemark(String remark) {

this.remark = remark;

}

public String getStatus() {

return this.status;

}

public void setStatus(String status) {

this.status = status;

}

public String getSortno() {

return this.sortno;

}

public void setSortno(String sortno) {

this.sortno = sortno;

}

public Timestamp getInserttime() {

return this.inserttime;

}

public void setInserttime(Timestamp inserttime) {

this.inserttime = inserttime;

}

public Timestamp getUpdatetime() {

return this.updatetime;

}

public void setUpdatetime(Timestamp updatetime) {

this.updatetime = updatetime;

}

public Integer getOperateid() {

return this.operateid;

}

public void setOperateid(Integer operateid) {

this.operateid = operateid;

}

}

二、jdbc.properties

[html] view
plain copy







jdbc.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver

jdbc.url=jdbc:sqlserver://127.0.0.1:1433;databaseName=test

jdbc.username=sa

jdbc.password=admin@2013

jdbc.maxActive=50

jdbc.maxIdle=10

jdbc.maxWait=50

jdbc.defaultAutoCommit=true

三、Spring配置文件【beans.xml】

[html] view
plain copy







<?xml version="1.0" encoding="GB18030"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"

xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:aop="http://www.springframework.org/schema/aop"

xmlns:tx="http://www.springframework.org/schema/tx" 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 http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"
default-autowire="byName" default-lazy-init="true">

<!-- 属性文件读入 -->

<bean id="propertyConfigurer"

class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

<property name="locations">

<list>

<value>classpath*:config/*.properties</value>

</list>

</property>

</bean>

<!-- 数据源定义,使用dbcp数据源 -->

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">

<property name="driverClassName" value="${jdbc.driverClassName}"></property>

<property name="url" value="${jdbc.url}"></property>

<property name="username" value="${jdbc.username}"></property>

<property name="password" value="${jdbc.password}"></property>

<property name="maxActive" value="${jdbc.maxActive}"></property>

<property name="maxIdle" value="${jdbc.maxIdle}"></property>

<property name="maxWait" value="${jdbc.maxWait}"></property>

<property name="defaultAutoCommit" value="${jdbc.defaultAutoCommit}"></property>

</bean>

<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate" abstract="false"

lazy-init="false" autowire="default" >

<property name="dataSource">

<ref bean="dataSource" />

</property>

</bean>

<bean id="ormDao" class="com.orm.dao.impl.OrmDaoImpl">

<property name="template">

<ref bean="jdbcTemplate" />

</property>

</bean>

</beans>

四、web.xml

[html] view
plain copy







<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<!--

Spring ApplicationContext配置文件的路径,可使用通配符,多个路径用,号分隔

此参数用于后面的Spring-Context loader

-->

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath*:spring/*.xml</param-value>

</context-param>

<!--Spring ApplicationContext 载入 -->

<listener>

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

</listener>

<!-- 著名 Character Encoding filter -->

<filter>

<filter-name>encodingFilter</filter-name>

<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

<init-param>

<param-name>encoding</param-name>

<param-value>GBK</param-value>

</init-param>

</filter>

<!-- Spring 刷新Introspector防止内存泄露 -->

<listener>

<listener-class>

org.springframework.web.util.IntrospectorCleanupListener</listener-class>

</listener>

<!--

session超时定义,单位为分钟,清除服务端我们存储在Session中的对象,不清除Tomcat容器存储在Session中的对象

-->

<session-config>

<session-timeout>30</session-timeout>

</session-config>

</web-app>

五、数据库访问接口【OrmDao.java】

[java] view
plain copy







package com.orm.dao;

import java.util.List;

import java.util.Map;

import com.orm.dto.AreaDto;

import com.orm.dto.BuildingDto;

import com.orm.dto.FloorDto;

import com.orm.dto.StoreDto;

public interface OrmDao {

public List<AreaDto> getAreaDtos();

public List<AreaDto> getAreaDtos1();

public Map<String, Object> getBuilds();

public Map<String, Object> getFloors(String build);

public Map<String, Object> getAreas(String build, String floor);

public List<StoreDto> getStoreDtos(int buildid, int floorid, int areaid);

public List<BuildingDto> getBuildingDto();

public List<FloorDto> getFloorDtos(int buildid);

public List<AreaDto> getAreaDto(int buildid, int floorid);

public AreaDto getAreaDto(int id);

public BuildingDto getBuildingDto(int buildId);

public FloorDto getFloorDto(int floorId);

public List<StoreDto> getAllStores();

public String storeName(int storeId);

public StoreDto getStoreById(int storeId);

public int getCountStore();

public void saveBuild(BuildingDto buildingDto);

public void deleteBuildById(int buildid);

public void updateBuildById(BuildingDto buildingDto);

}

六、数据库访问接口的实现类【OrmDaoImpl.java】

[java] view
plain copy







package com.orm.dao.impl;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.HashMap;

import java.util.LinkedHashMap;

import java.util.List;

import java.util.Map;

import org.springframework.jdbc.core.BeanPropertyRowMapper;

import org.springframework.jdbc.core.JdbcTemplate;

import org.springframework.jdbc.core.RowMapper;

import com.orm.dao.OrmDao;

import com.orm.dto.AreaDto;

import com.orm.dto.BuildingDto;

import com.orm.dto.FloorDto;

import com.orm.dto.StoreDto;

@SuppressWarnings({ "unchecked", "rawtypes" })

public class OrmDaoImpl implements OrmDao {

private JdbcTemplate template;

public JdbcTemplate getTemplate() {

return template;

}

public void setTemplate(JdbcTemplate template) {

this.template = template;

}

public List<AreaDto> getAreaDtos() {

String sql = "select * from t_area ";

return (List<AreaDto>) template.query(sql, new BeanPropertyRowMapper(AreaDto.class));

}

public List<AreaDto> getAreaDtos1() {

String sql = "select * from t_area ";

return (List<AreaDto>) template.query(sql, new AreaRowMapper());

}

public Map<String, Object> getBuilds() {

String sql = "select buildid,buildname from t_building ";

List<BuildingDto> list = this.template.query(sql, new BeanPropertyRowMapper(BuildingDto.class));

Map<String, Object> map = new HashMap<String, Object>();

for (BuildingDto build : list) {

map.put(String.valueOf(build.getBuildid()), build.getBuildname());

}

return map;

}

public Map<String, Object> getFloors(String build) {

String sql = "select floorid ,floorname from t_floor where build_id=?";

List<FloorDto> list = this.template.query(sql, new Object[] { build }, new BeanPropertyRowMapper(FloorDto.class));

Map<String, Object> map = new LinkedHashMap<String, Object>();

for (FloorDto floorDto : list) {

System.out.println(floorDto.getFloorid());

map.put(String.valueOf(floorDto.getFloorid()), floorDto.getFloorname());

}

return map;

}

public Map<String, Object> getAreas(String build, String floor) {

String sql = "select areaid ,area_name from t_area where build_id=? and floor_id=?";

List<AreaDto> list = this.template.query(sql, new Object[] { build, floor }, new BeanPropertyRowMapper(AreaDto.class));

Map<String, Object> map = new LinkedHashMap<String, Object>();

for (AreaDto areaDto : list) {

System.out.println(areaDto.getAreaid());

map.put(String.valueOf(areaDto.getAreaid()), areaDto.getArea_name());

}

return map;

}

public List<StoreDto> getStoreDtos(int buildid, int floorid, int areaid) {

String sql = "select * from t_store where build_id=? and floor_id=? and area_id=?";

return (List<StoreDto>) template.query(sql, new Object[] { buildid, floorid, areaid }, new BeanPropertyRowMapper(

StoreDto.class));

}

public List<BuildingDto> getBuildingDto() {

String sql = "select * from t_building ";

return (List<BuildingDto>) template.query(sql, new BeanPropertyRowMapper(BuildingDto.class));

}

public List<FloorDto> getFloorDtos(int buildid) {

String sql = "select * from t_floor where build_id=? ";

return (List<FloorDto>) template.query(sql, new Object[] { buildid }, new BeanPropertyRowMapper(FloorDto.class));

}

public List<AreaDto> getAreaDto(int buildid, int floorid) {

String sql = "select * from t_area where build_id=? and floor_id=?";

return (List<AreaDto>) template.query(sql, new Object[] { buildid, floorid }, new BeanPropertyRowMapper(AreaDto.class));

}

public AreaDto getAreaDto(int id) {

String sql = "select * from t_area where areaid=?";

return template.queryForObject(sql, new Object[] { id }, new BeanPropertyRowMapper(AreaDto.class));

}

public BuildingDto getBuildingDto(int buildId) {

String sql = "select * from t_building where buildid=?";

return template.queryForObject(sql, new Object[] { buildId }, new BeanPropertyRowMapper(BuildingDto.class));

}

public FloorDto getFloorDto(int floorId) {

String sql = "select * from t_floor where floorid=?";

return template.queryForObject(sql, new Object[] { floorId }, new BeanPropertyRowMapper(FloorDto.class));

}

public List<StoreDto> getAllStores() {

String sql = "select * from t_store ";

return (List<StoreDto>) template.query(sql, new BeanPropertyRowMapper(StoreDto.class));

}

public String storeName(int storeId) {

String sql = "select storename from t_store where id=?";

return template.queryForObject(sql, new Object[] { storeId }, String.class);

}

public StoreDto getStoreById(int storeInt) {

String sql = "select * from t_store where id=?";

return template.queryForObject(sql, new Object[] { storeInt }, new BeanPropertyRowMapper(StoreDto.class));

}

public int getCountStore() {

String sql = "select count(id) from t_store";

return this.template.queryForInt(sql);

}

public void saveBuild(BuildingDto buildingDto) {

}

public void deleteBuildById(int buildid) {

String sql = "delete from t_store where id=?";

this.template.update(sql, buildid);

}

public void updateBuildById(BuildingDto buildingDto) {

}

}

class AreaRowMapper implements RowMapper {

public Object mapRow(ResultSet rs, int index) throws SQLException {

AreaDto areaDto = new AreaDto();

areaDto.setAreaid(rs.getInt("areaid"));

areaDto.setArea_name(rs.getString("area_name"));

areaDto.setArea_detail(rs.getString("area_detail"));

areaDto.setBuild_id(rs.getInt("build_id"));

areaDto.setFloor_id(rs.getInt("floor_id"));

areaDto.setInsert_time(rs.getTimestamp("insert_time"));

areaDto.setOperate_id(rs.getInt("operate_id"));

areaDto.setUpdate_time(rs.getTimestamp("update_time"));

areaDto.setRegion_name(rs.getString("region_name"));

areaDto.setSortno(rs.getString("sortno"));

return areaDto;

}

}

七、测试类

[java] view
plain copy







package com.orm.test;

import java.util.Iterator;

import java.util.List;

import java.util.Map;

import java.util.Map.Entry;

import java.util.Set;

import org.junit.Before;

import org.junit.Test;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.orm.dao.OrmDao;

import com.orm.dto.AreaDto;

public class AreaTest{

private ApplicationContext ctx = null;

private OrmDao ormDao = null;

@Before

public void setUp() throws Exception {

ctx = new ClassPathXmlApplicationContext("classpath:spring/beans.xml");

ormDao = (OrmDao) ctx.getBean("ormDao");

}

@Test

public void getAreaDtosTest(){

List<AreaDto> list = this.ormDao.getAreaDtos();

for(AreaDto areaDto : list){

System.out.println(areaDto.getArea_name());

}

System.out.println(list.size());

}

@Test

public void getAreaDtosTest1(){

List<AreaDto> list = this.ormDao.getAreaDtos1();

for(AreaDto areaDto : list){

System.out.println(areaDto.getArea_name());

}

System.out.println(list.size());

}

@Test

public void getBuildsTest(){

Map<String, Object> builds = this.ormDao.getBuilds();

Iterator<String> keys = builds.keySet().iterator();

String key = "";

while(keys.hasNext()){

key = keys.next();

System.out.println("key = "+key+",value = "+builds.get(key));

}

}

@Test

public void getFloorsTest(){

Map<String, Object> floors = this.ormDao.getFloors("1");

System.out.println(floors);

Set<Entry<String, Object>> floorSet = floors.entrySet();

for(Entry floor : floorSet){

System.out.println(floor.getKey()+","+floor.getValue());

}

}

@Test

public void getAreasTest(){

Map<String, Object> areas = this.ormDao.getAreas("1","1");

System.out.println(areas);

Set<Entry<String, Object>> areaSet = areas.entrySet();

for(Entry area : areaSet){

System.out.println(area.getKey()+","+area.getValue());

}

}

@Test

public void getCountStoreTest(){

System.out.println(this.ormDao.getCountStore());

}

}

说明:

JdbcTemplate提供的方法很多如:queryForXXX,可以将查询结果以int、long、Object、List、Map来返回,这里有几个需要注意的:

下面是针对老版本的Spring1.2.x的JdbcTemplate操作:使用RowMapperResultReader对象来处理

[java] view
plain copy







class UserRowMapper implements RowMapper {

public Object mapRow(ResultSet rs, int index) throws SQLException {

User user = new User();

user.setId(rs.getString("user_id"));

user.setName(rs.getString("name"));

user.setSex(rs.getString("sex").charAt(0));

user.setAge(rs.getInt("age"));

return user;

}

}

public List findAllByRowMapperResultReader() {

String sql = "SELECT * FROM USER";

return jdbcTemplate.query(sql, new RowMapperResultReader(new UserRowMapper()));

}

但是在Spring2及以上的版本中却没有RowMapperResultReader这个对象,所以直接传替封装类来使用:

[java] view
plain copy







public List<AreaDto> getAreaDtos1() {

String sql = "select * from t_area ";

return (List<AreaDto>) template.query(sql, new AreaRowMapper());

}

class AreaRowMapper implements RowMapper {

public Object mapRow(ResultSet rs, int index) throws SQLException {

AreaDto areaDto = new AreaDto();

areaDto.setAreaid(rs.getInt("areaid"));

areaDto.setArea_name(rs.getString("area_name"));

areaDto.setArea_detail(rs.getString("area_detail"));

areaDto.setBuild_id(rs.getInt("build_id"));

areaDto.setFloor_id(rs.getInt("floor_id"));

areaDto.setInsert_time(rs.getTimestamp("insert_time"));

areaDto.setOperate_id(rs.getInt("operate_id"));

areaDto.setUpdate_time(rs.getTimestamp("update_time"));

areaDto.setRegion_name(rs.getString("region_name"));

areaDto.setSortno(rs.getString("sortno"));

return areaDto;

}

}

queryForList方法

此方法返回List数据,但是注意List中的数据却是Map形式,类似:[{AREAID=1, AREA_NAME=1楼报名咨询区}, {AREAID=2, AREA_NAME=2楼教学区}, {AREAID=3, AREA_NAME=3楼课外辅导区}],其中字段名为key,字段值为value

queryForMap方法

返回Map类型的数据,数据格式为{AREAID=1, AREA_NAME=1楼报名咨询区},注意:此方法必须只能返回一条记录,如果查询有多条记录就会报错:“org.springframework.dao.IncorrectResultSizeDataAccessException: Incorrect result size: expected 1, actual 2”

如果需要查询数据库返回一个List<T>类型的对象该如何实现?

目前有两种形式:

第一种:

[java] view
plain copy







public List<AreaDto> getAreaDtos1() {

String sql = "select * from t_area ";

return (List<AreaDto>) template.query(sql, new AreaRowMapper());

}

class AreaRowMapper implements RowMapper {

public Object mapRow(ResultSet rs, int index) throws SQLException {

AreaDto areaDto = new AreaDto();

areaDto.setAreaid(rs.getInt("areaid"));

areaDto.setArea_name(rs.getString("area_name"));

areaDto.setArea_detail(rs.getString("area_detail"));

areaDto.setBuild_id(rs.getInt("build_id"));

areaDto.setFloor_id(rs.getInt("floor_id"));

areaDto.setInsert_time(rs.getTimestamp("insert_time"));

areaDto.setOperate_id(rs.getInt("operate_id"));

areaDto.setUpdate_time(rs.getTimestamp("update_time"));

areaDto.setRegion_name(rs.getString("region_name"));

areaDto.setSortno(rs.getString("sortno"));

return areaDto;

}

}

第二种:

[java] view
plain copy







public List<AreaDto> getAreaDtos() {

String sql = "select * from t_area ";

System.out.println(template.queryForList(sql));

return (List<AreaDto>) template.query(sql, new BeanPropertyRowMapper(AreaDto.class));

}

很显然采用第二种会更简单。

转载于:http://www.16boke.com/article/detail/15
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: