生活随笔
收集整理的這篇文章主要介紹了
MyBatis第二天
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
1. ? ? 分頁(yè)查詢(xún)
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?>//分頁(yè)查詢(xún)<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("要添加的用戶(hù)已經(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("用戶(hù)名不存在");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();}/***?添加用戶(hù)*/@Testpublic?void?testAdd(){User?user?=?new?User();user.setUsername("呵呵?"?);user.setPassword("123"?);user.setNickname("張三"?);user.setType("123"?);ud.add(?user);}/***?更新用戶(hù)*/@Testpublic?void?testUpate(){User?u?=?ud.loadByUsername(?"呵呵");u.setPassword(?"1111");ud.update(?u);}/***?刪除用戶(hù)*/@Testpublic?void?testDelete(){ud.delete(4);}/***?登陸驗(yàn)證*/@Testpublic?void?testLogin(){User?user?=?new?User();user.setUsername("2"?);user.setPassword("2"?);User?u?=?ud.login(?user);System.?out.println(u?.getNickname());}/***?分頁(yè)*/@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第二天的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。