准备工作:
## 7 导入省市区数据到数据库中
1. 从FTP下载SQL脚本文件
2. 把脚本文件移动到易于描述绝对路径的位置
3. 进入MySQL控制台
4. use  `xxx_xxx`  数据库
5. 运行`source e:\t_dict.sql`以执行该脚本文件    (  linux下的命令是  source /home/soft01/桌面/t_dict.sql;)
 
-------------------------------------------------------------------------------------------
 
## 获取省市区数据
### 目标
获取所有省的列表
根据省的代号,获取省的信息
获取某个省的所有市的列表
根据市的代号,获取市的信息
获取某个市的所有区的列表
根据区的代号,获取区的信息
 
 
------------------------------------------------------------------------------------------
 
 
### 创建实体类(分析前端页面,并依照数据库中各个表的字段写相应的实体类)
在`cn.zjtj.store.entity`包中创建3个实体类:
  public class Province {
private Integer id;
private String code;
private String name; // 构造方法,SET/GET,toString,实现Serializable
} public class City {
private Integer id;
private String provinceCode;
private String code;
private String name; // 构造方法,SET/GET,toString,实现Serializable
} public class Area {
private Integer id;
private String cityCode;
private String code;
private String name; // 构造方法,SET/GET,toString,实现Serializable
}
 
----------------------------------------------------------------------------------------------------------------------
###  持久层
创建`cn.zjtj.store.mapper.ProvinceMapper`接口,添加抽象方法:   
 /**
* 获取所有省的列表
*/
List<Province> getProvinceList(); /**
* 根据省的代号,获取省的信息
*/
Province getProvinceByCode(String provinceCode);
然后,在`resources\mappers\`下创建(复制粘贴再修改)`ProvinceMapper.xml`映射文件: 
<mapper namespace="cn.zjtj.store.mapper.ProvinceMapper">

        <!-- 获取所有省的列表 -->
<!-- List<Province> getProvinceList() -->
<select id="getProvinceList"
resultType="cn.zjtj.store.entity.Province">
SELECT
id,
province_code AS code,
province_name AS name
FROM
t_dict_provinces
</select> <!-- 根据省的代号,获取省的信息 -->
<!-- Province getProvinceByCode(String provinceCode) -->
<select id="getProvinceByCode"
resultType="cn.zjtj.store.entity.Province">
SELECT
id,
province_code AS code,
province_name AS name
FROM
t_dict_provinces
WHERE
province_code=#{provinceCode}
</select> </mapper>
 
### 业务层
 
以处理省的信息为例,先创建对应的业务接口`cn.zjtj.store.service.IProvinceService`,并添加与持久层接口中相同的抽象方法:  
 /**
* 获取所有省的列表
*/
List<Province> getProvinceList(); /**
* 根据省的代号,获取省的信息
*/
Province getProvinceByCode(String provinceCode);
创建`cn.zjtj.store.service.ProvinceServiceImpl`实现以上接口,并使用`@Service("provinceService")`注解,然后,在类中声明`@Autowired ProvinceMapper provinceMapper;`属性,然后,实现接口中的抽象方法:
   
public List<Province> getProvinceList() {
return provinceMapper.getProvinceList();
} public Province getProvinceByCode(String provinceCode) {
return provinceMapper.getProvinceByCode(provinceCode);
}
 
 
###  控制器层
获取省的列表
请求路径:`/province/list.do`
请求参数:`无`
请求类型:`GET`
响应方式:`ResponseResult<List<Province>>`
根据省的代号,获取省的信息
请求路径:`/province/info.do`
请求参数:`code=110000`
请求类型:`GET`
响应方式:`ResponseResult<Province>`
获取某个省的市的列表
请求路径:`/city/list.do`
请求参数:`province_code=xx`
请求类型:`GET`
响应方式:`ResponseResult<List<City>>`
…… ……

(其实大体思路就是MVC思想  ,但还是有很多细节要注意,要多练习。)

 
-------------------------------------------------------------------------------------------
 
### POST请求与GET请求的区别(面试题
GET常用于地址栏请求
POST请求表单提交,json的应用(看之前的代码) ,一般要加方法体

get请求的提交的数据量较小
POST请求的数据一般无限制

get把很多信息暴露了,如id等,所以不太安全,相比post请求而言。

get请求便于收藏 ,因为它具体到某一个网页,而post不是的(找个代码看看)。

 
 
 

Spring/SpringMVC/MyBatis(持久层、业务层、控制层思路小结)的更多相关文章

  1. Spring+SpringMVC+MyBatis+easyUI整合优化篇(十三)数据层优化-表规范、索引优化

    本文提要 最近写的几篇文章都是关于数据层优化方面的,这几天也在想还有哪些地方可以优化改进,结合日志和项目代码发现,关于数据层的优化,还是有几个方面可以继续修改的,代码方面,整合了druid数据源也开启 ...

  2. Spring+SpringMVc+Mybatis实现数据库查询

    大家好,本篇博客小Y将会给大家带来一篇SSM框架实现数据查询的Demo,使用的数据库是Mysql,Server是TomCat.现在的SSM整合非常流行,因为springmvc的高效和mybatis的灵 ...

  3. Spring+SpringMVC+MyBatis深入学习及搭建(十六)——SpringMVC注解开发(高级篇)

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7085268.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十五)——S ...

  4. SSM框架——Spring+SpringMVC+Mybatis的搭建教程

    一:概述 SSM框架在项目开发中经常使用到,相比于SSH框架,它在仅几年的开发中运用的更加广泛. Spring作为一个轻量级的框架,有很多的拓展功能,最主要的我们一般项目使用的就是IOC和AOP. S ...

  5. 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一)

    梳理下使用spring+springMVC+mybatis 整合后的一个简单实例:输入用户的 ID,之后显示用户的信息(此次由于篇幅问题,会分几次进行说明,此次是工程的创建,逆向生成文件以及这个简单查 ...

  6. SSM(Spring+SpringMVC+Mybatis)框架环境搭建(整合步骤)(一)

    1. 前言 最近在写毕设过程中,重新梳理了一遍SSM框架,特此记录一下. 附上源码:https://gitee.com/niceyoo/jeenotes-ssm 2. 概述 在写代码之前我们先了解一下 ...

  7. Maven 搭建 SSM框架——Spring+SpringMVC+Mybatis的搭建教程

    一:概述 SSM框架在项目开发中经常使用到,相比于SSH框架,它在仅几年的开发中运用的更加广泛. Spring作为一个轻量级的框架,有很多的拓展功能,最主要的我们一般项目使用的就是IOC和AOP.Sp ...

  8. 【JavaWeb】Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JCaptcha 完整Web基础框架(三)

    Spring+SpringMVC MVC呢,现在似乎越来越流行使用SpringMVC框架,我自己用的感觉,是非常好,确实很舒服,配置一开始是麻烦了一点点,但是后续的开发真的是很清爽! SpringMV ...

  9. [JSP]Maven+SSM框架(Spring+SpringMVC+MyBatis) - Hello World

    来源:http://blog.csdn.net/zhshulin/article/details/37956105?utm_source=tuicool&utm_medium=referral ...

  10. SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)【转载】

    最近在学习Spring+SpringMVC+MyBatis的整合.以下是参考网上的资料自己实践操作的详细步骤. 1.基本概念   1.1.Spring Spring是一个开源框架,Spring是于20 ...

随机推荐

  1. 流程控制之if...else

    # #如果:男的年龄>49,那么:小哥哥## age_of_boy = 50# if age_of_boy > 49:# print('小哥哥你好')### # 如果:女人的年龄>3 ...

  2. 在golang中使用 cgo,如何让被嵌入的c语言代码调用golang

    https://golang.org/misc/cgo/test/callback.go // Copyright 2011 The Go Authors. All rights reserved. ...

  3. 常用笔记:MySQL

    [MySQL] mysql -h192.168.0.201 -P3306 -uroot -p123 -D数据库名 #命令行连接数据库 SET PASSWORD = PASSWORD('123456') ...

  4. DAX/PowerBI系列 - 参数表(Parameter Table) - 大客户分析(Top N)

    DAX/PowerBI系列 - 参数表(Parameter Table) - 大客户分析(Top N) 难度: ★☆☆☆☆(1星) 适用范围: ★★★☆☆(3星) 概况:此文为DAX/PowerBI系 ...

  5. Hadoop生态集群之HDFS

    一.HDFS是什么 HDFS是hadoop集群中的一个分布式的我文件存储系统.他将多台集群组建成一个集群,进行海量数据的存储.为超大数据集的应用处理带来了很多便利. 和其他的分布式文件存储系统相比他有 ...

  6. np.newaxis学习【转载】

    转自:https://blog.csdn.net/lanchunhui/article/details/49725065 1.相当于None >> type(np.newaxis) Non ...

  7. 使用JWT的RSA256加密做为用户认证, 测试性能

    http://www.giantflyingsaucer.com/blog/?p=5994 使用JWT的token认证,防止别人知道了接口后,随意调用,但是发现 stepping : 4 microc ...

  8. VirtualBox 在Win10上的蓝屏问题

    今天也是第一次使用VirtualBox ,因为比VM更轻量,当然主要还是版权,结果装完虚拟机后,每次打开虚拟机就蓝屏,系统报错. 这是出现在WIN10上的问题啊. 解决办法: 找到Control Pa ...

  9. zip()

    zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表. 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以 ...

  10. url传输编码

    首先:协议规范,RFC 1738,定义url地址中不能包含除:0-9,a-zA-Z,- 之外的字符,即,如URL中包含特殊字符,如$-_.+!*’(), 都要编码. 关于为什么如此定义,有如下几个原因 ...