804
技術社區[雲棲]
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,@Autowired,@RequestMapping都是注解,通過配置自動掃描,用戶請求會發送至對應的controller處理.
- @Controller->controller注解,添加在controller類前
- @Autowired->成員變量自動裝配,上圖中將UserService作為一個變量,使用時spring會自動裝配,無需實例化.
- @RequestMapping->指定的方法處理哪些請求,上圖中,當用戶發送"/getAllUser"請求時,會使用getAllUser方法進行處理.
除了這些注解,在使用時還會經常用到下麵這些
1. @PathVariable
2. @RequestParam
3. ModelAndView
繼續看例子
上圖中使用了RequestMapping("/a/{b}") 與@PathVaribale("b")配合使用,達到取請求中指定值的目的.這裏b也可改為a來取值.
- @RequestParam("a") String a 效果等同於request.getParameter("a")
ModelAndView可以傳對象給指定視圖
- modelandview使用流程 創建->添加對象"可選擇不添"->設置目標頁麵->return
由於配置文件中設置了後綴,此處設置目標頁麵後沒有加.jsp
Dao和DaoImpl的編寫
數據訪問層添加@Repository注解,自動裝配sessionFactory
- 通過編寫hql實現數據的增刪改查一般步驟
https://blog.csdn.net/zbw18297786698/article/details/51993850
-
hql是高級版sql,與之類似.語法看上麵鏈接.寫的時候可以參考已有的代碼demo
Entity編寫
通過Entity類前添加@Entity@Table注解,實現通過代碼自動創建數據表.- @Id
- @GenerateValue(strategy=GenerationType.IDENTITY)
- private int id;
這兩個注解作用是指定id為表的主鍵,且為自增長.
- @ManyToOne
- @OneToOne
這兩個注解為指定表的外鍵.添加後查詢時即可使用Rules.user.username來通過對象的方式來獲取關聯表中的屬性.
Service和ServiceImpl
業務層編寫主要邏輯代碼.類前使用@Service@Transactional兩個注解來標注與DaoImpl類似.要實現接口中的方法.
AJAX功能實現
前端框架中已經包含jquery.js 可以使用jquery.js提供的ajax功能來很方便的實現.
與其他請求不同,ajax返回值是json或者String等類型.ajax的請求處理通過
Printwriter來實現.具體使用可根據demo來改.
配置文件
通常會使用的配置項目
- hibernate中的用戶名,密碼等
- applicationcontext.xml和infrastructure.xml中設置service,entity,Dao的自動掃描
- spring-dispatcher-servlet.xml中controller包,前後綴
最後更新:2017-08-13 22:53:16