spring/springMVC/mybatis(持久層、業務層、控制層思路小結)

來源:互聯網
上載者:User

標籤:案頭   代碼   思想   欄位   練習   聲明   mys   ice   相同   

準備工作:## 7 匯入省市區資料到資料庫中

 

1. 從FTP下載SQL指令檔

 

2. 把指令檔移動到易於描述絕對路徑的位置

 

3. 進入MySQL控制台

 

4. 使用`tedu_store`資料庫

 

5. 運行`source e:\t_dict.sql`以執行該指令檔    (  linux下的命令是  source /home/soft01/案頭/t_dict.sql;) ------------------------------------------------------------------------------------------- 

 

## 擷取省市區資料

 

### 目標

 

擷取所有省的列表

 

根據省的代號,擷取省的資訊

 

擷取某個省的所有市的列表

 

根據市的代號,擷取市的資訊

 

擷取某個市的所有區的列表

 

根據區的代號,擷取區的資訊  ------------------------------------------------------------------------------------------  

 

### 建立實體類(分析前端頁面,並依照資料庫中各個表的欄位寫相應的實體類)

 

在`cn.tedu.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.tedu.store.mapper.ProvinceMapper`介面,添加抽象方法:   
 /**     * 擷取所有省的列表     */    List<Province> getProvinceList();    /**     * 根據省的代號,擷取省的資訊     */    Province getProvinceByCode(String provinceCode);

 

 

然後,在`resources\mappers\`下建立(複製粘貼再修改)`ProvinceMapper.xml`對應檔: 
<mapper namespace="cn.tedu.store.mapper.ProvinceMapper">                <!-- 擷取所有省的列表 -->        <!-- List<Province> getProvinceList() -->        <select id="getProvinceList"            resultType="cn.tedu.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.tedu.store.entity.Province">            SELECT                id,                province_code   AS code,                province_name   AS name            FROM                t_dict_provinces            WHERE                province_code=#{provinceCode}        </select>    </mapper>    

 

 

 

### 業務層 以處理省的資訊為例,先建立對應的業務介面`cn.tedu.store.service.IProvinceService`,並添加與持久層介面中相同的抽象方法:  
 /**     * 擷取所有省的列表     */    List<Province> getProvinceList();    /**     * 根據省的代號,擷取省的資訊     */    Province getProvinceByCode(String provinceCode);

 

 

建立`cn.tedu.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(持久層、業務層、控制層思路小結)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.