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

利用Spring中的多方法控制器实现数据查询和删除操作

2017-04-06 14:00 726 查看
使用Spring框架进行Web程序开发时,如果对于每个业务请求都创建一个控制器,项目开发完成后会发现程序中包含越来越多的控制器Controller,但实际上一些相关的功能,如查询、修改、删除等对同一张数据表进行的不同操作,可以使用一个类来完成,Spring的MVC框架提供了一个MultiActionController控制器,在编写控制器时,可以通过继承该控制器完成在一个类中的多个业务。本实例将通过MultiActionController控制器完成多个业务操作,程序发布后的运行结果如图1所示。
当使用MultiActionController控制器时,必须与org.springframework.web.servlet.mvc.multiaction. PropertiesMethodNameResolver类同时使用,PropertiesMethodNameResolver类用来配置控制器中的各种方法要被执行,配置方法如下:
<bean id="paraMethodResolver"
class="org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver">
<property name="mappings">
<props>
<prop key="/queryuser.do">QueryUser</prop>
<prop key="/deleteuser.do">DeleteUser</prop>
</props>
</property>
</bean>
通过Spring的JDBC模板类JdbcTemplate完成数据查询操作,语法格式如下:
JdbcTemplate.queryForList(String selectsql);
参数说明:
(1)创建StudentDao.java类文件。首先导入需要的程序类包,然后定义JdbcTemplate模板的实例对象jtl,该对象使用Spring的IoC依赖注入特征,在这个类中定义两个方法executeSql()和querySql()分别用来完成对数据库的删除和查询操作,其关键代码如下:
import java.util.List;
import org.springframework.jdbc.core.JdbcTemplate;
public class StudentDao {
private JdbcTemplate jtl = null;
public JdbcTemplate getJtl() {
return jtl;
}
public void setJtl(JdbcTemplate jtl) {
this.jtl = jtl;
}
public void executeSql(String deleteSql){
jtl.execute(deleteSql);
}
public List querySql(String selectsql){
return jtl.queryForList(selectsql);
}
}
(2)创建StudentMutilAction.java类文件,该类继承MultiActionController类。在类中定义一个类型为StudentDao的对象dao用于执行数据库操作,该对象使用Spring的IoC依赖注入,再定义一个查询方法QueryUser()用来查询满足条件的数据。其关键代码如下:
String propName = request.getParameter("select1");
String conName = request.getParameter("select2");
if (conName.equals("DY")) conName = ">";
if (conName.equals("XY")) conName = "<";
if (conName.equals("DEY")) conName = "=";
String strValue = request.getParameter("strvalue");
String sqlSelect;
sqlSelect = "select * from tb_stuinfo where " + propName + " " + conName + "'" + strValue + "'";;
List liststu = dao.querySql(sqlSelect);
Map map = new HashMap();
map.put("stulist", liststu);
return new ModelAndView("index",map);
(3)在WEB-INF文件夹下创建bean_config.xml配置文件,作用是对控制器的请求操作,其关键代码如下:
<bean name="/*user.do" class="com.StudentMutilAction">
<property name="methodNameResolver">
<ref bean="paraMethodResolver"/>
</property>
<property name="dao">
<ref local="daosupport"/>
</property>
</bean>
(4)创建index.jsp页面文件,作用是对控制器的请求操作,其关键代码如下:
<c:forEach var="stuinf" items="${stulist}">
<tr>
<td height="28" align="center">
<c:out value="${stuinf.name}" />
</td>
<td height="28" align="center">
<c:out value="${stuinf.sex}"/>
</td>
<td height="28" align="center>
<c:out value="${stuinf.sfzhm}"/>
</td>
<td height="28" align="center">
<fmt:formatDate value="${stuinf.csrq}" dateStyle="long"/>
</td>
<td height="28" align="center">
<c:out value="${stuinf.jtdh}" />
</td>
<td height="28" align="center">
<c:out value="${stuinf.jtdz}" />
</td>
<td height="28" align="center">
<input type="button" value="删除" onclick="window.location.href('deleteuser.do?id=${stuinf.stu_id}')" />
</td>
</tr>
</c:forEach>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐