閱讀804 返回首頁    go 技術社區[雲棲]


SSH(spring+springmvc+hibernate)框架快速上手

目錄框架

_
目錄框架如圖所示.java代碼包名即所存放代碼的分類.
- controller->處理請求
- dao->數據訪問層接口
- dao.impl->數據訪問層接口實現(實現數據庫操作)
- entity->實體類(數據庫中的表)
- service->業務層接口
- service.impl->業務層接口實現(主要代碼編寫區域)
- util->工具集

配置文件

- hibernate.properties->hibernate相關配置(數據庫驅動\用戶名\密碼...)
- applicationContext.xml,infrastructure.xml->spring配置文件(設置掃描包,配置數據庫信息...)
- spring-dispatcher-servlet.xml->springmvc配置文件(包括controller包掃描,視圖模型前後綴等)

Controller編寫

controller
如上圖所示,@Controller,@Autowired,@RequestMapping都是注解,通過配置自動掃描,用戶請求會發送至對應的controller處理.
- @Controller->controller注解,添加在controller類前
- @Autowired->成員變量自動裝配,上圖中將UserService作為一個變量,使用時spring會自動裝配,無需實例化.
- @RequestMapping->指定的方法處理哪些請求,上圖中,當用戶發送"/getAllUser"請求時,會使用getAllUser方法進行處理.
除了這些注解,在使用時還會經常用到下麵這些
1. @PathVariable
2. @RequestParam
3. ModelAndView
繼續看例子
image
上圖中使用了RequestMapping("/a/{b}") 與@PathVaribale("b")配合使用,達到取請求中指定值的目的.這裏b也可改為a來取值.


image
在上圖中使用了@RequestParam的注解.

- @RequestParam("a") String a 效果等同於request.getParameter("a")

ModelAndView可以傳對象給指定視圖
image
- modelandview使用流程 創建->添加對象"可選擇不添"->設置目標頁麵->return
由於配置文件中設置了後綴,此處設置目標頁麵後沒有加.jsp

Dao和DaoImpl的編寫

image


image
數據訪問層添加@Repository注解,自動裝配sessionFactory
- 通過編寫hql實現數據的增刪改查一般步驟
https://blog.csdn.net/zbw18297786698/article/details/51993850

  • hql是高級版sql,與之類似.語法看上麵鏈接.寫的時候可以參考已有的代碼demo

    Entity編寫

    image
    通過Entity類前添加@Entity@Table注解,實現通過代碼自動創建數據表.

    • @Id
    • @GenerateValue(strategy=GenerationType.IDENTITY)
    • private int id;

這兩個注解作用是指定id為表的主鍵,且為自增長.
- @ManyToOne
- @OneToOne
這兩個注解為指定表的外鍵.添加後查詢時即可使用Rules.user.username來通過對象的方式來獲取關聯表中的屬性.

Service和ServiceImpl

image


image
業務層編寫主要邏輯代碼.類前使用@Service@Transactional兩個注解來標注與DaoImpl類似.要實現接口中的方法.

AJAX功能實現

前端框架中已經包含jquery.js 可以使用jquery.js提供的ajax功能來很方便的實現.

image

image
與其他請求不同,ajax返回值是json或者String等類型.ajax的請求處理通過
Printwriter來實現.具體使用可根據demo來改.

配置文件

通常會使用的配置項目

  • hibernate中的用戶名,密碼等
  • applicationcontext.xml和infrastructure.xml中設置service,entity,Dao的自動掃描
  • spring-dispatcher-servlet.xml中controller包,前後綴

image


image


image

image

最後更新:2017-08-13 22:53:16

  上一篇:go  學習c語言好書推薦——學習c語言的7本書
  下一篇:go  Kubernetes核心原理(二)之Controller Manager