配置了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的