jeesite的使用(三)html
上次說到關於自動生成的增刪改查簡單的操做的數據流向此次 看我用本身的代碼去創建本身的功能的:java
我以 院系表 班級表 學生表 教師表和課程表 爲例下面是自建的表格信息:mysql
修改一下表哈 在student表的添加一個studentNo字段sql
在mysql中創建好表開始jsp
本身寫代碼了函數
先明確一下個人需求:url
我須要呈現學生的基本信息列表 :包括 學生的院系 班級 學號 姓名 年齡 能夠經過院系 班級 學號 年齡 單個或多個查詢 xml
好了如今開始了 :htm
先寫好SQL語句:對象
能夠使用本身日常用SQL也能夠參考自動生成的代碼的SQL我喜歡用後者:
在Navicat for MySql 新建一個查詢
本身在各表中添加了一些數據本身寫的Sql如上經過左鏈接能夠把三個錶鏈接在一塊兒查到三個表的數據
固然你也能夠不用左鏈接SQL 以下:
如今自動生成的HyReportDao.xml文件目錄下新建一個StudentDao.xml 並把前者的數據複製過來(也能夠本身打,若是你本身不嫌麻煩的話),而後清除掉不須要的數據以下:
參考自動生成的代碼寫一個SELECT 並把本身的SQL複製過來以下:
id 本身命名 resultType是對應的實體類 即下面你須要查找的字段
而後咱們在自動生成的entity包中建一個Student的實體類:
以下:(圖片中寫錯了 :字段名是和SQL裏面的別名對應)
而後在自動生成的HyReportDao.java所在目錄建一個StudentDao.java接口以下:
而後就是讓SQL所在層和Dao接口層聯繫在一塊兒了
只須要在sql所在層作以下修改就能夠了:
而後怎麼調用SQL呢 能夠在StudentDao 接口層建一個方法名與select 的id 對應的 方法便可,具體以下:
如今SQL和D ao就鏈接在一塊兒了,如今讓我來鏈接 service層和Controller層
分別在兩層中建StudentService.java 和StudentController .java 以下:
注意一下參考一下自動生成代碼而後別忘記了註釋(如:@Controller) 和繼承相關類
如今寫一下jsp頁面:
在自動生成的JSP頁面下建一個StudentList.jsp 內容全刪除而後把自動生成的HyReportlist.jsp 的內容複製過來再本身修改爲本身須要的 我修改後以下:
上面的JS 不動,固然你也能夠刪除覺得上面是用來分頁的函數(須要分頁功能的話,給一個建議去看系統設置--用戶管理的源碼,而後比較有什麼不一樣本身去嘗試比我給你說的要好多了)
其餘修改如上,先別理會爲何先往下面看:
回到contorller 而後寫一個方法以下:
參考自動生成的代碼 注意別忘了註釋
上圖有報錯標誌,把鼠標懸浮在上面點擊 create Method 那個提示能夠自動在S ervice層建一個與之鏈接的方法(你也能夠本身直接到S ervice層去寫這個方法)
這個方法是與以前 寫的Dao層方法鏈接一塊兒的
而後咱們就能夠到系統設置去配置一個菜單好菜單以下(菜單的設置在(一)):
保存之後而後
改一下JSP頁面:
items=」」引號裏面是model.addAttribute("studentList", studentList);中引號裏面的值
var=」」引號裏面是遍歷的集合對象 就是實體類S tudent (不區分大小寫,爲了好識別最好小寫)
而後就能夠從新運行了效果圖以下:
這樣這個列表功能就完成了
下面來搞一下查詢了,有上面的基礎就好寫了
先寫JSP層以下:
加了一個表單 地址對應controller中value 的值爲select的方法(它有自帶的樣式class="" 本身能夠參考自動生成代碼加上)
再寫controller層以下:
而後service層
而後Dao層
傳參的時候別忘了@Param(「studentName」), 也能夠不加可是要保證和實體類中屬性名相同(不是太確定沒試過可是同事用過能夠用)
而後Dao.xml 層
我在原來方法裏面加了條件test=」 studentName」引號裏面的studentName和#{studentName}裏面的studentName都是和@Param(「studentName」)裏面的對應的
你也能夠從新寫一個SELECT 不過ID和方法名要改一下並且還要一致
而後就能夠實現查詢功能了 好了介紹完了,關於jeesite的使用這就算介紹完了,要更好更快的實現功能的話就須要本身不斷地嘗試打代碼了,我這個只是簡單的介紹。