日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MyBatis第二天

發(fā)布時間:2025/6/15 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MyBatis第二天 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2019獨角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

1. ? ? 分頁查詢

2. ? ? map傳參數(shù)????

3. ? ? 排序


UserMapper.xml

<?xml?version="1.0"?encoding=?"UTF-8"??> <!DOCTYPE?mapperPUBLIC?"-//mybatis.org//DTD?Mapper?3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!--?<mapper?namespace="model.User">?--> <mapper?namespace="model.User"?><insert?id="add"?parameterType="model.User"?>insert?into?t_user?(username,password,nickname,type)value?(#{username},#{password},#{nickname},#{type})</insert?><update?id="update"?parameterType="model.User"?>update?t_user?set?password=#{password},nickname=#{nickname},type=#{type}?where?id=#{id}</update?>??<delete?id="delete"?parameterType="int"?>delete?from?t_user?where?id?=?#{id}</delete?><select?id="load"?parameterType="int"?resultType="model.User"?>select?*?from?t_user?where?id?=?#{id}</select?><select?id="loadByUsername"?parameterType="String"?resultType=?"model.User">select?*?from?t_user?where?username?=?#{username}</select?>//分頁查詢<select?id="find"?resultType="model.User"?parameterType="map"?>select?*?from?t_user?where(?username?like?#{name}?or?password?like?#{name})order?by?${sort}?${order}?limit?#{pageOffset},#{pageSize}</select?><select?id="find_count"?parameterType="map"?resultType="int"?>select?count(*)?from?t_user?where(?username?like?#{name}?or?password?like?#{name})</select?> </mapper>




SystemContext

package?model; public?class?SystemContext {private?static?ThreadLocal<Integer>?pageSize?=?new?ThreadLocal<Integer>();private?static?ThreadLocal<Integer>?pageIndex?=?new?ThreadLocal<Integer>();private?static?ThreadLocal<Integer>?pageOffset?=?new?ThreadLocal<Integer>();private?static?ThreadLocal<String>?order?=?new?ThreadLocal<String>();private?static?ThreadLocal<String>?sort?=?new?ThreadLocal<String>();public?static?String?getOrder()?{return?order?.get();}public?static?void?setOrder(String?_order)?{order.set(_order?);}public?static?void?removeOrder(){order.remove();}public?static?String?getSort()?{return?sort?.get();}public?static?void?setSort(String?_sort)?{sort.set(_sort?);}public?static?void?removeSort(){sort.remove();}public?static?int?getPageSize()?{return?pageSize?.get();}public?static?void?setPageSize(int?_pageSize)?{pageSize.set(_pageSize?);;}public?static?int?getPageIndex()?{return?pageIndex?.get();}public?static?void?setPageIndex(int?_pageIndex)?{pageIndex.set(_pageIndex?);}public?static?int?getPageOffset()?{return?pageOffset?.get();}public?static?void?setPageOffset(int?_pageOffset)?{pageOffset.set(_pageOffset?);}}



IUserDao


package?dao; import?model.Pager; import?model.User; public?interface?IUserDao {public?void?add(User?user?);public?void?update(User?user?);public?void?delete(int?id);public?User?loadByUsername(String?userName);public?User?load(?int?id?);public?User?login(User?user);public?Pager<User>?find(String?userName); } UserDao? package?dao; import?java.util.HashMap; import?java.util.List; import?java.util.Map; import?model.Pager; import?model.ShopException; import?model.SystemContext; import?model.User; import?org.apache.ibatis.session.SqlSession; import?util.MyBatisUtil; public?class?UserDao?implements?IUserDao {@Overridepublic?void?add(User?user?)?{User?tu?=?this.loadByUsername(user?.getUsername());if(tu?!=?null)throw?new?ShopException("要添加的用戶已經(jīng)存在!"?);SqlSession?session?=?null?;session?=?MyBatisUtil.createSession();try{session.insert(User.class.getName()+".add",?user);session.commit();}catch(Exception?e?){e.printStackTrace();session.rollback();}finally{MyBatisUtil.?closeSession(session);}}@Overridepublic?void?update(User?user?)?{SqlSession?session?=?null?;session?=?MyBatisUtil.createSession();try{session.update(User.class.getName()+".update",?user);session.commit();}catch(Exception?e?){e.printStackTrace();session.rollback();}finally{MyBatisUtil.?closeSession(session);}}@Overridepublic?void?delete(int?id)?{SqlSession?session?=?null?;session?=?MyBatisUtil.createSession();try{session.delete(User.class.getName()+".delete",?id);session.commit();}catch(Exception?e?){e.printStackTrace();session.rollback();}finally{MyBatisUtil.?closeSession(session);}}@Overridepublic?User?loadByUsername(String?userName)?{SqlSession?session?=?null?;User?u?=?null;session?=?MyBatisUtil.createSession();try{u?=?session.selectOne(User.class.getName()+".loadByUsername",?userName);}catch(Exception?e?){e.printStackTrace();session.rollback();}finally{MyBatisUtil.?closeSession(session);}return?u?;}@Overridepublic?User?load(?int?id?)?{SqlSession?session?=?null?;User?u?=?null;session?=?MyBatisUtil.createSession();u?=?session.selectOne(User.class.getName()+".load",?id);MyBatisUtil.?closeSession(session);return?u?;}@Overridepublic?User?login(User?user)?{User?u?=?this.loadByUsername(user?.getUsername());if(u?==?null)throw?new?ShopException("用戶名不存在");if(!u?.getPassword().equals(user.getPassword())){throw?new?ShopException("密碼不正確");}return?u?;}public?Pager<User>?find(String?name){int?pageSize?=?SystemContext.getPageSize();int?pageOffset?=?SystemContext.getPageOffset();String?order?=?SystemContext.getOrder();String?sort?=?SystemContext.getSort();Pager<User>?pages?=?new?Pager<User>();SqlSession?session?=?null?;try{session?=?MyBatisUtil.createSession();Map<String,Object>?params?=?new?HashMap<String,Object>();params.put("name"?,?"%"?+name?+"%"?);params.put("pageSize"?,?pageSize?);params.put("pageOffset"?,?pageOffset?);params.put("order"?,?order?);params.put("sort"?,?sort?);List<User>?datas?=?session.selectList(User.class.getName()+".find",?params);pages.setDatas(datas?);pages.setPageOffset(pageOffset?);pages.setPageSize(pageSize?);int?totalRecord?=?session.selectOne(User.class.getName()+".find_count",?params);pages.setTotalRecord(totalRecord?);}finally{MyBatisUtil.?closeSession(session);}return?pages?;} }


TestUserDao


package?test; import?model.Pager; import?model.SystemContext; import?model.User; import?org.junit.Before; import?org.junit.Test; import?dao.DaoFactory; import?dao.IUserDao; public?class?TestUserDao {private?IUserDao?ud;@Beforepublic?void?init(){ud?=?DaoFactory.?getUserDao();}/***?添加用戶*/@Testpublic?void?testAdd(){User?user?=?new?User();user.setUsername("呵呵?"?);user.setPassword("123"?);user.setNickname("張三"?);user.setType("123"?);ud.add(?user);}/***?更新用戶*/@Testpublic?void?testUpate(){User?u?=?ud.loadByUsername(?"呵呵");u.setPassword(?"1111");ud.update(?u);}/***?刪除用戶*/@Testpublic?void?testDelete(){ud.delete(4);}/***?登陸驗證*/@Testpublic?void?testLogin(){User?user?=?new?User();user.setUsername("2"?);user.setPassword("2"?);User?u?=?ud.login(?user);System.?out.println(u?.getNickname());}/***?分頁*/@Testpublic?void?testFind(){SystemContext.?setPageOffset(0);SystemContext.?setPageSize(15);SystemContext.?setOrder("desc");SystemContext.?setSort("id");Pager<User>?ps?=?ud.find(?"張");System.?out.println(ps?.getTotalRecord());for(User?u?:ps?.getDatas()){System.?out.println(u?);}} }



源碼:

? ? ?

????????????http://pan.baidu.com/s/1hqkoY6S

轉(zhuǎn)載于:https://my.oschina.net/gengjie2/blog/342367

總結(jié)

以上是生活随笔為你收集整理的MyBatis第二天的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。