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

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

2016-01-29 17:30 796 查看
Spring对数据库的操作使用JdbcTemplate来封装JDBC,结合Spring的注入特性可以很方便的实现对数据库的访问操作。
使用JdbcTemplate可以像JDBC一样来编写数据库的操作代码,与hibernate相比对SQL语句的控制上会更灵活,下面以一个例子来讲解JdbcTemplate的使用及相应的API。





一、实体Bean

[java]
view plaincopy





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 plaincopy





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 plaincopy





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 plaincopy





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 plaincopy





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 plaincopy





<?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 plaincopy





<?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 plaincopy





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 plaincopy





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 plaincopy





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 plaincopy





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 plaincopy





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 plaincopy





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 plaincopy





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));
}

很显然采用第二种会更简单。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: