interfaceIMeetingRoomDao {public ListselectCap();public ListselectFloor();
}
2.2 实现类
@Overridepublic ListselectCap() {
List caplist = new ArrayList();//sql语句中不能在一个语句中查两个字段的distinct值,查一个字段,需要单独建立该字段的mapper
String sql = "select distinct capacity from meetingroom";
caplist= jt.query(sql,newCapMapper());returncaplist;
}
@Overridepublic ListselectFloor() {
List floorlist = new ArrayList();
String sql= "select distinct floor from meetingroom";
floorlist= jt.query(sql,newFloorMapper());returnfloorlist;
}
注:范型中的Mrcap与Mrfloor为单独新建的bean类,类中只有一个私有属性(cap/floor),因此在使用spring JDBC时需要新建对应的Mapper。
2.3 CapMapper
public class CapMapper implements RowMapper{
@Overridepublic Mrcap mapRow(ResultSet rs, int rownum) throwsSQLException {
Mrcap mrc= newMrcap();
mrc.setCapacity(rs.getInt("capacity"));returnmrc;
}
}
2.4 FloorMapper同CapMapper,不予代码展示
2.5 因为实现类的存在,必须向Spring的配置文件中加入标签
其中MeetingRoomDao中要有如下代码用来映射datasource:
privateDataSource datasource;privateJdbcTemplate jt;public voidsetDataSource(DataSource ds){this.datasource =ds;this.jt = newJdbcTemplate(datasource);
}
至此,下拉框要填充的内容读取完毕,并分别放入caplist与floorlist中等待放入下拉框,放入下拉框时使用EL表达式>>>
容量:
--请选择--
所在楼层:
--请选择--
总结:
数据库中capacity与floor字段的值皆有重复,使用SQL语句查询时,无法在一个语句中查出两个字段的不重复值,故分而置之,又由于使用了Spring JDBC框架,使用jt.query()方法进行查询时,需要新建两个bean类并新建对应的mapper映射,方可最终放入下拉框。
读取mysql中的特定列值放入页面的下拉框中
标签:imp for template app 语句 ems etc bsp 2.3
本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉
本文系统来源:http://www.cnblogs.com/jin-zhao/p/6371473.html