配置了SSM后运行成功就可以开始写接口了
创建文件
- java - com - pdt - ssm - bean - controller - dao - impl - service - util - config.java
java的开发听说过的都知道有三层MVC
- M层就是代表controller,是用来接受前端请求的,拿到前端参数后进行参数判断,是不是没传,是不是为空,都在这里判断,判断没问题后传给V层
- V层就是代表service,是用来处理逻辑的,这里的逻辑一般是判断由数据库查询到的数据
- C层就是数据库层,就是查数据库
- 当数据被C层查到后怎么传回给V层,用return,V层传给M层也是return,M层返回给前端也是return,一般来说传给前端的都是Map数据格式
正式开始
- bean/TestBean.java,Bean类首字母大写
public class TestBean { private int userId; private String userName; private String userPassword; private String userEmail; private List list; // get,set,toSting 省略不写 // 如果是用IDEA编辑器,可以按 alt+ins 自动生成 }
- controller/test.java,controller类小写就行
@Controller // 这个注解,代表的意思就是我是M层 @RequestMapping("/test") // 这个就是请求前缀 public class test { @Autowired // 这个注解的意思是我是会被调用的V层,理解为固定写法 private TestService testService; @RequestMapping("/get") // 加上这个就是整个请求是 /test/get @ResponseBody() // 这个是表示我传给前端的数据会默认加工成json public Map get(HttpServletRequest req,TestBean testBean) { // get方法 // 不管提交方式Form,也就是application/x-www-form-urlencoded;时 // 还是json,也就是application/json; // req.getParameterMap()和bean都能接受到参数 // get是不能传数组或者对象的 Map map = new HashMap() // 看看req里有什么参数 for(String key : req.getParameterMap().keySet()){ System.out.println(key) System.out.println(req.getParameterMap().get(key)[0]) } // 如果req里的请求有跟bean一样的字段会被自动传进去,一般都是用bean,req很少使用 // 可以同时传很多的bean System.out.println(testBean.toString()); // 进行参数判断 if(testBean.getId() == null){ map.put("msg","参数id不能为空") map.put("success",true) }else{ // 传给下一层,方法名尽量同名 map = testService.get(testBean) } return map; }
- service/TestService.java,首字母大写
@Service // 同 @Controller public class TestService { @Autowired private TestDaoImpl testDaoImpl; public Map get(TestBean testBean) { Map map = new HashMap() ArrayList list = testDaoImpl.get(testBean); // 逻辑判断 if(list.size() == 0){ map.put("mag","没有查到数据") }else{ map.put("list",list) } return map; } }
- dao/impl/TestDaoImpl.java
@Repository // 同 @Controller public class TestDaoImpl { @Autowired private JdbcTemplate jdbcTemplate; // 通过JdbcTemplate的方法才能操作数据库 public ArrayList get(TestBean testBean) { String sql = "select * from t_test where id = ?"; return jdbcTemplate.queryForList(sql,testBean.getId()); } }
TestDaoImpl 是测试用的,正确是要用mybatis的
来源:https://www.cnblogs.com/pengdt/p/12240572.html