麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發(fā)設計 > 正文

事務管理、AOP總結以及MyBatis高級應用

2019-11-10 19:04:33
字體:
來源:轉載
供稿:網友

一、事務(交易)管理 (1)容器類==集合框架==集合 (2)Web容器==Web服務器==Servlet容器==Servet引擎 (3)傳播 REQUIRED:如果有事務,則參與到當前事務,如果沒有則自動開始新事務,總之,必須有事務。默認最常用規(guī)則!!! PRopagation=Propagation.REQUIRED REQUIRES_NEW:必須有新事務,沒有事務開啟新事務,已經有事務時候,也開啟新的獨立事務。 propagation=Propagation.REQUIRES_NEW NEVER:方法永遠不參與事務 propagation=Propagation.NEVER NOT_SUPPORTED:不支持事務, 如果在事務中調用,把當前事務臨時掛起,執(zhí)行以后再繼續(xù)處理事務。 propagation=Propagation.NOT_SUPPORTED NESTED:嵌套,當前方法不能單獨使用,必須嵌套到其他事務中使用。 propagation=Propagation.NESTED MANDATORY:不支持事務, 不能再事務中調用,如果調用就出現異常 propagation=Propagation.MANDATORY 二、AOP總結 反射->動態(tài)代理->AOP->聲明式事務管理 動態(tài)代理: (1)JDK 動態(tài)代理: java.lang.reflect.Proxy 使用是有前提的,必須有接口!! (2)CGlib動態(tài)代理:基于類的動態(tài)代理 注:Spring的AOP動態(tài)代理會自動利用 JDK Proxy和CGlib,如果有接口就優(yōu)先使用JDK Proxy,其他情況下使用CGlib 三、MBatis高級應用 分頁查詢 分頁查詢,其目的在于在查詢結果較多,需要分批向瀏覽器傳輸數據。在查詢結果多時候經常采用。 實現分頁查詢: (1)數據持久層支持分頁查詢功能,主要是才有分頁查詢SQL實現,可以根據數據行范圍,返回一部分查詢結果。 (2)業(yè)務層將頁號換算為分頁查詢參數,提交給數據層。 (3)表現層控制器與HTML頁面配合顯示出適當的頁面效果。 案例:分頁查詢筆記本列表 數據層 NotebookDao.java :

/** * 分頁查詢,必須傳遞參數: * userId: 用戶的ID * start: 查詢起始行號 * rows: 一次查詢的最多行數 * @param params 封裝參數的Map * @return List<Map> */List<Map<String, Object>> findNotebooksByPage( Map<String, Object> params);

添加SQL NotebookMapper.java:

<select id="findNotebooksByPage" parameterType="map" resultType="map"> select cn_notebook_id as id, cn_notebook_name as name from cn_notebook where cn_user_id=#{userId} <if test="start != null"> limit #{start}, #{rows} </if></select>

添加業(yè)務層方法 NotebookService.java:

List<Map<String, Object>> listNotebooks(String userId, int pageNum, int pageSize) throws UserNotFoundException;

實現業(yè)務層方法 NotebookServiceImpl.java

@Transactional(readOnly=true)public List<Map<String, Object>> listNotebooks( String userId, int pageNum, int pageSize) throws UserNotFoundException { if(userId==null||userId.trim().isEmpty()){ throw new UserNotFoundException("ID空"); } User user = userDao.findUserById(userId); if(user==null){ throw new UserNotFoundException("木有人"); } //計算出起始行號 int start = pageNum*pageSize; Map<String, Object> params= new HashMap<String, Object>(); params.put("userId", userId); params.put("start", start); params.put("rows", pageSize); return notebookDao.findNotebooksByPage(params);}

添加控制器方法 NotebookController.java:

@RequestMapping("notebooks.do")@ResponseBodypublic JsonResult<List<Map<String, Object>>> notebooks(String userId, int page){ int size=6; List<Map<String, Object>> list= notebookService.listNotebooks( userId, page, size); return new JsonResult<List<Map<String,Object>>>(list);}

重構 loadNotebooksAction 方法:

function loadNotebooksAction(){ //獲取 page 數據 //$(this)是li.more, 顯示li時候,已經在LI //上綁定了頁號數據,這里是獲取頁號數據 //如果不存在這個數居說明是第一次顯示 //則顯示第0頁的內容 var page=$(this).data('page'); if(! page){ page = 0; } //console.log('loadNotebooksAction()'); //var url='notebook/list.do'; var url='notebook/notebooks.do'; //var data={userId:getCookie('userId')}; var data={userId:getCookie('userId'), page:page}; //console.log(data); //console.log(url); $.getJSON(url, data, function(result){ if(result.state==SUCCESS){ var list=result.data; console.log(list); model.updateNotebooks(list, page); } });}

重構 updateNotebooks 方法:

model.updateNotebooks=function(list, page){ var template='<li class="online notebook">'+ '<a>'+ '<i class="fa fa-book " title="online" rel="toolt重構事件監(jiān)聽js edit_init.js:

...//綁定點擊筆記本列表的事件//showNotesAction函數定義在edit_note.js中$('#notebooks').on( 'click','li.notebook', showNotesAction);//綁定 More 連接監(jiān)聽 $('#notebooks').on( 'click','li.more', loadNotebooksAction);...

四、關于全文檢索: (1)數據量非常大:搜索引擎技術,進行全文檢索,如:org.apache.lucene (2)小數據量:可以使用 like 模糊查詢,like是沒有索引支持的順序查詢,性能很差。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 涩涩屋av | 日本在线观看一区二区 | 精品91av | 精品成人免费一区二区在线播放 | 黄色毛片免费看 | 久久综合网址 | 色网在线视频 | 嫩嫩的freehdxxx | 日本在线一区二区 | 一级黄色淫片 | 成人一区三区 | 日日草夜夜 | julieann艳星激情办公室 | 免费视频观看 | 夜夜夜操操操 | 毛片免费在线观看视频 | 久草在线播放视频 | 久久国产精品久久久久久久久久 | 欧美激情猛片xxxⅹ大3 | 亚洲成人精品久久 | 久久亚洲精品久久国产一区二区 | 国产精品欧美久久久久一区二区 | 成人做爰高潮片免费视频美国 | 久精品久久 | 最新亚洲国产 | 斗罗破苍穹在线观看免费完整观看 | 鸳鸯谱在线观看高清 | 在线观看免费污视频 | 国产精品久久久久久久亚洲按摩 | 特大黑人videos与另类娇小 | 免费视频一区 | 欧美日韩在线播放一区 | 毛片免费视频 | 31freehdxxxx欧美 | www国产网站| 免费观看一区二区三区 | 免费久久精品 | 欧美国产综合视频 | 国产一区二区三区视频在线观看 | 免费人成年短视频在线观看网站 | av电影在线观看免费 |