当前位置 : 主页 > 网络编程 > 其它编程 >

Object>>——基于SSM框架

来源:互联网 收集:自由互联 发布时间:2023-07-02
不说废话直接说我的思路1、先在entitydao定义一个实体类定义要封装的数据取名ES_ROUTE 不说废话直接说我的思路 1、先在entitydao定义一个实体类定义要封装的数据取名ES_ROUTE package xingluo.
不说废话直接说我的思路1、先在entitydao定义一个实体类定义要封装的数据取名ES_ROUTE

不说废话直接说我的思路 1、先在entitydao定义一个实体类定义要封装的数据取名ES_ROUTE

package xingluo.navigate.entity;public class ES_ROUTE {private int id;private String sbmc;private String destname;private String route;private int angle;public int getId() {return id;}public void setId(int id) {this.id id;}public String getSbmc() {return sbmc;}public void setSbmc(String sbmc) {this.sbmc sbmc;}public String getDestname() {return destname;}public void setDestname(String destname) {this.destname destname;}public String getRoute() {return route;}public void setRoute(String route) {this.route route;}public int getAngle() {return angle;}public void setAngle(int angle) {this.angle angle;}}

2、然后在Mapper.xml中使用

先定义要返回的Map的参数 id 为标识符 type 为类型使用实体类名 property 需要映射到实体类的属性名称 column 数据表的列名或者标签别名 后面这两个可以不写 javaType 一个完整的类名或者是一个类型别名。如果你匹配的是一个JavaBean那MyBatis 通常会自行检测到。然后如果你是要映射到一个HashMap那你需要指定javaType 要达到的目的。 jdbcType 数据表支持的类型列表。这个属性只在insert,update 或delete 的时候针对允许空的列有用。JDBC 需要这项但MyBatis 不需要。如果你是直接针对JDBC 编码且有允许空的列而你要指定这项。

SQL语句

SELECTtb_route.id,tb_dev.sbmc,tb_dest.destname,tb_route.route,tb_route.angleFROMtb_routeINNER JOIN tb_dest ONtb_route.destIDtb_dest.idINNER JOIN tb_dev ONtb_route.fromdevtb_dev.sbidWHEREtb_dev.sbid#{sbid}

id为接口提供函数名 parameterType为输入类型 resultMap输出类型与resultMap的id对应

3、编写Mapper接口

package xingluo.navigate.mapper;import java.util.List;import java.util.Map;import org.apache.ibatis.annotations.Param;import xingluo.navigate.entity.TB_ROUTE;public interface TB_ROUTEMapper {//查询//一个list集合里放的是Map.//每一个Map的key值类型,对应的value类型List getRouteDestAll(Param("sbid")int sbid);}

Param可以固定参数方便xml中使用

4、编写Service接口和Seviceimpl具体实现类

package xingluo.navigate.service;import java.util.List;import java.util.Map;import xingluo.navigate.entity.TB_ROUTE;public interface TB_ROUTEService {//查询List getRouteDestAll(int sbid);}

------------------------------------------分割线------------------------------------------

package xingluo.navigate.service.impl;import java.util.List;import java.util.Map;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import xingluo.navigate.entity.TB_ROUTE;import xingluo.navigate.mapper.TB_ROUTEMapper;import xingluo.navigate.service.TB_ROUTEService;Servicepublic class TB_ROUTEServiceimpl implements TB_ROUTEService {AutowiredTB_ROUTEMapper tbr;Overridepublic List getRouteDestAll(int sbid){return tbr.getRouteDestAll(sbid);}}

5、然后就是控制器的调用和前端的调用

package xingluo.navigate.control;import java.io.IOException;import java.util.List;import java.util.Map;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import xingluo.navigate.entity.TB_ROUTE;import xingluo.navigate.service.TB_ROUTEService;Controllerpublic class RouteControl {Autowired //Autowired修饰的类需要注入对象String会自己在注入的里面找到相应 的对象注入-HByTB_ROUTEService tbr;//列出所有目的地信息RequestMapping("/routeSelectDestAll")public String routeSelectDestAll(HttpServletRequest req,HttpServletResponse resq,Model model)throws ServletException, IOException{req.setCharacterEncoding("UTF-8");int sbidInteger.parseInt(req.getParameter("sbid"));List list tbr.getRouteDestAll(sbid);model.addAttribute("list",list);return "route-selectDest";}}

最后的效果图 在这里插入图片描述 写完后我感觉没简便到好多感觉就是一个变多了一步地实体封装类有可能我还没遇到可以简便的地方。以后使用的时候在多多思考。

【本文由:湖北阿里云代理 http://www.558idc.com/aliyun.html提供,感恩】
网友评论