mybatis简单案例源码详细【注释全面】——测试层(UserMapperTest.java)
生活随笔
收集整理的這篇文章主要介紹了
mybatis简单案例源码详细【注释全面】——测试层(UserMapperTest.java)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/**
* @Title: UserMapperTest.java
* @Package org.test
* @Description: TODO該方法的主要作用:
* @author A18ccms A18ccms_gmail_com
* @date 2017-10-5 下午7:51:50
* @version V1.0
*/
package org.test;import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.apache.log4j.Logger;
import org.dao.UserMapper;
import org.entity.Users;
import org.junit.Test;
import org.util.MybatisUtils;/** * * 項目名稱:ssm_chop1 * 類名稱:UserMapperTest * 類描述: * 創建人:Mu Xiongxiong * 創建時間:2017-10-5 下午7:51:50 * 修改人:Mu Xiongxiong * 修改時間:2017-10-5 下午7:51:50 * 修改備注: * @version * */
public class UserMapperTest {/*** @Fields logger :該字段的意思:日志*/private Logger logger = Logger.getLogger(UserMapperTest.class);/*** @Fields sqlSession :該字段的意思:sqlsession*/private SqlSession sqlSession = null;/*** @Fields rel :該字段的意思:區分增刪改的是否成功*/private int rel = 0;/*** * @Description: 該方法的主要作用:不是用工具類進行測試* @Title: test* @param 設定文件 * @return 返回類型:void * @throws*/@Testpublic void test_noMybatisUtil(){String resource = "mybatis-config.xml";int count = 0;SqlSession sqlSession = null;try {//1.獲取mybatis-config.xml的輸入流InputStream inputStream = Resources.getResourceAsStream(resource);//2.創建SqlSessionFaction對象,完成對配置文件的讀取SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);//3.創建sqlsessionsqlSession = factory.openSession();//4.調用mapper文件來對數據進行操作,必須把mapper文件引入mybatis-config.xml中count = sqlSession.selectOne("org.dao.UserMapper.count");logger.debug("UserMapperTest count----"+count);System.out.println(count);} catch (IOException e) {// TODO 異常執行塊!e.printStackTrace();}finally{sqlSession.close();}}/*** * @Description: 該方法的主要作用:使用工具類進行測試* @Title: test_MybatisUtils* @param 設定文件 * @return 返回類型:void * @throws*/@Testpublic void test_MybatisUtils(){SqlSession sqlSession = null;int count = 0;try {sqlSession = MybatisUtils.createSqlSession();count = sqlSession.selectOne("org.dao.UserMapper.count");} catch (Exception e) {// TODO 異常執行塊!e.printStackTrace();}finally{MybatisUtils.closeSqlSession(sqlSession);}System.out.println(count);}/*** * @Description: 該方法的主要作用:調用接口進行查詢* @Title: test_Icount* @param 設定文件 * @return 返回類型:void * @throws*/@Testpublic void test_Icount(){SqlSession sqlSession = null;int count = 0;try {sqlSession = MybatisUtils.createSqlSession();//接口UserMapper的名字必須要和映射文件的名字一樣count = sqlSession.getMapper(UserMapper.class).count();} catch (Exception e) {// TODO 異常執行塊!e.printStackTrace();}finally{MybatisUtils.closeSqlSession(sqlSession);}System.out.println("總記錄數是:"+count);}/*** * @Description: 該方法的主要作用:使用接口的方式查詢所有的數據* @Title: test_IgetUserList* @param 設定文件 * @return 返回類型:void * @throws*/@Testpublic void test_IgetUserList(){SqlSession sqlSession = null;List<Users> userList = new ArrayList<Users>();try {sqlSession = MybatisUtils.createSqlSession();userList = sqlSession.getMapper(UserMapper.class).getUserList();} catch (Exception e) {// TODO 異常執行塊!e.printStackTrace();}finally{MybatisUtils.closeSqlSession(sqlSession);}for (Users users : userList) {System.out.println("用戶名是"+users.getUserName());}}/*** * @Description: 該方法的主要作用:根據用戶名進行模糊查詢信息* @Title: test_IgetUsersByName* @param 設定文件 * @return 返回類型:void * @throws*/@Testpublic void test_IgetUsersByName(){SqlSession sqlSession = null;Users users = null;try {sqlSession = MybatisUtils.createSqlSession();users = sqlSession.getMapper(UserMapper.class).getUsersByName("明");} catch (Exception e) {// TODO 異常執行塊!e.printStackTrace();}finally{MybatisUtils.closeSqlSession(sqlSession);}System.out.println(users.getPhone());}/*** * @Description: 該方法的主要作用:根據用戶對象進行查詢* @Title: test_IgetUserListByUser* @param 設定文件 * @return 返回類型:void * @throws*/@Testpublic void test_IgetUserListByUser(){SqlSession sqlSession = null;List<Users> users1 = null;Users users = new Users();try {users.setUserName("李");users.setUserrole(2);sqlSession = MybatisUtils.createSqlSession();users1 = sqlSession.getMapper(UserMapper.class).getUserListByUser(users);} catch (Exception e) {// TODO 異常執行塊!e.printStackTrace();}finally{MybatisUtils.closeSqlSession(sqlSession);}for (Users user : users1) {System.out.println(user.getUserName());}}/*** * @Description: 該方法的主要作用:查詢用戶列表,參數是Map* @Title: test_IgetUsersListByMap* @param 設定文件 * @return 返回類型:void * @throws*/@Testpublic void test_IgetUsersListByMap(){SqlSession sqlSession = null;List<Users> usersList = null;try {sqlSession = MybatisUtils.createSqlSession();Map<String, String> map = new HashMap<String, String>();map.put("userName", "李");map.put("userrole", "2");usersList = sqlSession.getMapper(UserMapper.class).getUsersListByMap(map);} catch (Exception e) {// TODO 異常執行塊!e.printStackTrace();}finally{MybatisUtils.closeSqlSession(sqlSession);}for (Users user : usersList) {System.out.println(user.getUserName());}}/*** * @Description: 該方法的主要作用:連接查詢* @Title: test_IgetUserListAndRole* @param 設定文件 * @return 返回類型:void * @throws*/@Testpublic void test_IgetUserListAndRole(){SqlSession sqlSession = null;List<Users> userList = null;try {sqlSession = MybatisUtils.createSqlSession();Users users = new Users();users.setUserName("李");users.setUserrole(2);userList = sqlSession.getMapper(UserMapper.class).getUserListAndRole(users);} catch (Exception e) {// TODO 異常執行塊!e.printStackTrace();}finally{MybatisUtils.closeSqlSession(sqlSession);}for (Users users : userList) {System.out.println(users.getAddress());}}/*** * @Description: 該方法的主要作用:添加用戶信息* @Title: test_IsaveUser* @param 設定文件 * @return 返回類型:void * @throws*/@Testpublic void test_IsaveUser(){try {sqlSession = MybatisUtils.createSqlSession();Users users = new Users();users.setAddress("山東省濟南市");users.setBirthday(new Date());users.setCreateBy(1);users.setCreationDate(new Date());users.setGender("1");users.setModifyBy(2);users.setModifyDate(new Date());users.setPhone("15066675713");users.setUserCode("wangwei");users.setUserName("王偉");users.setUserPassword("123456");users.setUserrole(1);rel = sqlSession.getMapper(UserMapper.class).saveUser(users);if(rel>0){System.out.println("添加成功");}else{System.out.println("添加失敗");}} catch (Exception e) {// TODO 異常執行塊!e.printStackTrace();}finally{sqlSession.commit();MybatisUtils.closeSqlSession(sqlSession);}}/*** * @Description: 該方法的主要作用:根據編號修改* @Title: test_IupdateUser* @param 設定文件 * @return 返回類型:void * @throws*/@Testpublic void test_IupdateUser(){try {sqlSession = MybatisUtils.createSqlSession();Users users = new Users();users.setAddress("山東省濟南市");users.setBirthday(new Date());users.setCreateBy(1);users.setCreationDate(new Date());users.setGender("1");users.setModifyBy(2);users.setModifyDate(new Date());users.setPhone("15066675713");users.setUserCode("wangwei");users.setUserName("李偉");users.setUserPassword("123456");users.setUserrole(1);users.setId(19);rel = sqlSession.getMapper(UserMapper.class).updateUser(users);if(rel>0){System.out.println("修改成功");}else{System.out.println("修改失敗");}} catch (Exception e) {// TODO 異常執行塊!e.printStackTrace();}finally{sqlSession.commit();MybatisUtils.closeSqlSession(sqlSession);}}/*** @Description: 該方法的主要作用:根據id刪除數據* @Title: test_IdelUser* @param 設定文件 * @return 返回類型:void * @throws*/@Testpublic void test_IdelUser(){try {sqlSession = MybatisUtils.createSqlSession();rel = sqlSession.getMapper(UserMapper.class).delUser(19);if(rel>0){System.out.println("刪除成功!");}else{System.out.println("刪除失敗!");}} catch (Exception e) {// TODO 異常執行塊!e.printStackTrace();}finally{sqlSession.commit();MybatisUtils.closeSqlSession(sqlSession);}}/*** * @Description: 該方法的主要作用:根據id查詢用戶信息* @Title: test_IgetUsersById* @param 設定文件 * @return 返回類型:void * @throws*/@Testpublic void test_IgetUsersById(){try {sqlSession = MybatisUtils.createSqlSession();Users users = sqlSession.getMapper(UserMapper.class).getUsersById(15);System.out.println(users.getUserName());} catch (Exception e) {// TODO 異常執行塊!e.printStackTrace();}finally{MybatisUtils.closeSqlSession(sqlSession);}}/*** * @Description: 該方法的主要作用:根據角色id查詢用戶信息* @Title: test_IgetUsersByRoleId* @param 設定文件 * @return 返回類型:void * @throws*/@Testpublic void test_IgetUsersByRoleId(){try {sqlSession = MybatisUtils.createSqlSession();List<Users> userList = sqlSession.getMapper(UserMapper.class).getUsersByRoleId(2);for (Users users : userList) {System.out.println(users.getUserName());}} catch (Exception e) {// TODO 異常執行塊!e.printStackTrace();}finally{MybatisUtils.closeSqlSession(sqlSession);}}/*** * @Description: 該方法的主要作用:根據userName和userrole動態查詢用戶信息* @Title: test_IgetUsersListByUserNameAndRole_if* @param 設定文件 * @return 返回類型:void * @throws*/@Testpublic void test_IgetUsersListByUserNameAndRole_if(){try {sqlSession = MybatisUtils.createSqlSession();List<Users> userList = sqlSession.getMapper(UserMapper.class).getUsersListByUserNameAndRole_if(null, 3);for (Users users : userList) {System.out.println(users.getUserName());}} catch (Exception e) {// TODO 異常執行塊!e.printStackTrace();}finally{MybatisUtils.closeSqlSession(sqlSession);}}/*** * @Description: 該方法的主要作用:動態根據用戶名和角色id查詢用戶列表,where and|or* @Title: getUsersListByUserNameAndRole_ifAndwhere* @param 設定文件 * @return 返回類型:void * @throws*/@Testpublic void test_IgetUsersListByUserNameAndRole_ifAndwhere(){try {sqlSession = MybatisUtils.createSqlSession();List<Users> userList = sqlSession.getMapper(UserMapper.class).getUsersListByUserNameAndRole_ifAndwhere(null, 2);for (Users users : userList) {System.out.println(users.getUserName());}} catch (Exception e) {// TODO 異常執行塊!e.printStackTrace();}finally{MybatisUtils.closeSqlSession(sqlSession);}}/*** * @Description: 該方法的主要作用:使用is+set動態修改用戶表信息* @Title: updateUser_ifAndSet* @param 設定文件 * @return 返回類型:void * @throws*/@Testpublic void test_IupdateUser_ifAndSet(){try {sqlSession = MybatisUtils.createSqlSession();Users users = new Users();users.setAddress("山東省濟南市");users.setBirthday(new Date());users.setCreateBy(1);users.setCreationDate(new Date());users.setGender("1");users.setModifyBy(2);users.setModifyDate(new Date());users.setPhone("15066675713");users.setUserCode("wangwei");users.setUserName("李偉");users.setUserPassword("123456");users.setUserrole(1);users.setId(15);rel = sqlSession.getMapper(UserMapper.class).updateUser_ifAndSet(users);if(rel>0){System.out.println("修改成功");}else{System.out.println("修改失敗");}} catch (Exception e) {// TODO 異常執行塊!e.printStackTrace();}finally{sqlSession.commit();MybatisUtils.closeSqlSession(sqlSession);}}/*** * @Description: 該方法的主要作用:動態根據用戶名和角色id查詢用戶列表,使用trim進行查詢用戶信息,where and|or* @Title: getUsersListByUserNameAndRole_ifAndwhere_trim* @param 設定文件 * @return 返回類型:void * @throws*/@Testpublic void test_IgetUsersListByUserNameAndRole_ifAndwhere_trim(){try {sqlSession = MybatisUtils.createSqlSession();List<Users> userList = sqlSession.getMapper(UserMapper.class).getUsersListByUserNameAndRole_ifAndwhere_trim("張", 3);for (Users users : userList) {System.out.println(users.getUserName());}} catch (Exception e) {// TODO 異常執行塊!e.printStackTrace();}finally{MybatisUtils.closeSqlSession(sqlSession);}}/*** * @Description: 該方法的主要作用:使用trim代替set進行動態修改用戶信息* @Title: updateUser_ifAndTrim* @param 設定文件 * @return 返回類型:void * @throws*/@Testpublic void test_IupdateUser_ifAndTrim(){try {sqlSession = MybatisUtils.createSqlSession();Users users = new Users();users.setAddress("山東省濟南市");users.setBirthday(new Date());users.setCreateBy(1);users.setCreationDate(new Date());users.setGender("1");users.setModifyBy(2);users.setModifyDate(new Date());users.setPhone("15066675713");users.setUserCode("wangwei");users.setUserName("李偉偉");users.setUserPassword("123456");users.setUserrole(1);users.setId(15);rel = sqlSession.getMapper(UserMapper.class).updateUser_ifAndTrim(users);if(rel>0){System.out.println("修改成功");}else{System.out.println("修改失敗");}} catch (Exception e) {// TODO 異常執行塊!e.printStackTrace();}finally{sqlSession.commit();MybatisUtils.closeSqlSession(sqlSession);}}/*** * @Description: 該方法的主要作用:根據用戶角色列表,獲取該角色劉表下用戶列表信息foreach_array* @Title: test_IgetUsersByRoleId_foreach_array* @param 設定文件 * @return 返回類型:void * @throws*/@Testpublic void test_IgetUsersByRoleId_foreach_array(){try {sqlSession = MybatisUtils.createSqlSession();Integer roleids [] = {1,2,3};List<Users> userList = sqlSession.getMapper(UserMapper.class).getUsersByRoleId_foreach_array(roleids);for (Users users : userList) {System.out.println(users.getUserName());}} catch (Exception e) {// TODO 異常執行塊!e.printStackTrace();}finally{MybatisUtils.closeSqlSession(sqlSession);}}/*** * @Description: 該方法的主要作用:根據用戶角色列表,獲取該角色劉表下用戶列表信息foreach_list* @Title: getUsersByRoleId_foreach_list* @param 設定文件 * @return 返回類型:void * @throws*/@Testpublic void test_IgetUsersByRoleId_foreach_list(){try {sqlSession = MybatisUtils.createSqlSession();List<Integer> roleids = new ArrayList<Integer>();roleids.add(1);roleids.add(2);List<Users> userList = sqlSession.getMapper(UserMapper.class).getUsersByRoleId_foreach_list(roleids);for (Users users : userList) {System.out.println(users.getUserName());}} catch (Exception e) {// TODO 異常執行塊!e.printStackTrace();}finally{MybatisUtils.closeSqlSession(sqlSession);}}/*** * @Description: 該方法的主要作用:根據用戶角色列表和性別(多參數),獲取該角色劉表下用戶列表信息foreach_map* @Title: test_IgetUsersByRoleId_foreach_many_map* @param 設定文件 * @return 返回類型:void * @throws*/@Testpublic void test_IgetUsersByRoleId_foreach_many_map(){try {sqlSession = MybatisUtils.createSqlSession();List<Integer> roleids = new ArrayList<Integer>();Map<String, Object> conditionmap = new HashMap<String, Object>();roleids.add(1);roleids.add(2);conditionmap.put("gender", 1);conditionmap.put("roleids", roleids);List<Users> userList = sqlSession.getMapper(UserMapper.class).getUsersByRoleId_foreach_many_map(conditionmap);for (Users users : userList) {System.out.println(users.getUserName());}} catch (Exception e) {// TODO 異常執行塊!e.printStackTrace();}finally{MybatisUtils.closeSqlSession(sqlSession);}}/*** * @Description: 該方法的主要作用:根據用戶角色列表(單參數),獲取該角色劉表下用戶列表信息foreach_map* @Title: getUsersByRoleId_foreach_one_map* @param 設定文件 * @return 返回類型:void * @throws*/@Testpublic void test_IgetUsersByRoleId_foreach_one_map(){try {sqlSession = MybatisUtils.createSqlSession();List<Integer> roleids = new ArrayList<Integer>();Map<String, Object> conditionmap = new HashMap<String, Object>();roleids.add(1);roleids.add(2);conditionmap.put("rKey", roleids);List<Users> userList = sqlSession.getMapper(UserMapper.class).getUsersByRoleId_foreach_one_map(conditionmap);for (Users users : userList) {System.out.println(users.getUserName());}} catch (Exception e) {// TODO 異常執行塊!e.printStackTrace();}finally{MybatisUtils.closeSqlSession(sqlSession);}}/*** * @Description: 該方法的主要作用:查詢用戶列表,使用choose* @Title: getUsersList_choose* @param 設定文件 * @return 返回類型:void * @throws*/@Testpublic void test_IgetUsersList_choose(){try {sqlSession = MybatisUtils.createSqlSession();List<Users> userList = sqlSession.getMapper(UserMapper.class).getUsersList_choose(null,null,null,new Date());for (Users users : userList) {System.out.println(users.getUserName());}} catch (Exception e) {// TODO 異常執行塊!e.printStackTrace();}finally{MybatisUtils.closeSqlSession(sqlSession);}}/*** * @Description: 該方法的主要作用:分頁查詢用戶信息* @Title: getUserList_page* @param 設定文件 * @return 返回類型:void * @throws*/@Testpublic void test_IgetUserList_page(){try {sqlSession = MybatisUtils.createSqlSession();List<Users> userList = sqlSession.getMapper(UserMapper.class).getUserList_page(4,3);for (Users users : userList) {System.out.println(users.getUserName());}} catch (Exception e) {// TODO 異常執行塊!e.printStackTrace();}finally{MybatisUtils.closeSqlSession(sqlSession);}}
}
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎
總結
以上是生活随笔為你收集整理的mybatis简单案例源码详细【注释全面】——测试层(UserMapperTest.java)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2022年5家最佳美容院网站建设者
- 下一篇: u盘重装系统步骤图解如何u盘重装电脑系统