/**
* @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)相关推荐

  1. mybatis简单案例源码详细【注释全面】——前期准备

    mybatis 是个什么东西,这里就不必说了,大家去网上搜搜看就行了,在这里我主要是分享一下最基本的增删改查案例以及配置信息,测试信息. 首先我们创建个数据库: /* SQLyog 企业版 - MyS ...

  2. mybatis简单案例源码详细【注释全面】——Utils层(MybatisUtils.java)

    /** * @Title: MybatisUtils.java * @Package org.util * @Description: TODO该方法的主要作用: * @author A18ccms ...

  3. mybatis简单案例源码详细【注释全面】——Dao层映射文件(UserMapper.xml)【重要】

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "- ...

  4. mybatis简单案例源码详细【注释全面】——Dao层接口(UserMapper.java)

    /** * @Title: IUserDao.java * @Package org.dao * @Description: TODO该方法的主要作用: * @author A18ccms A18cc ...

  5. mybatis简单案例源码详细【注释全面】——实体层(Role.java)

    package org.entity;import java.util.Date; /*** * * 项目名称:ssm_chop2 * 类名称:Role * 类描述: 角色表的实体类 * 创建人:Mu ...

  6. mybatis简单案例源码详细【注释全面】——实体层(User.java)

    /** * @Title: Users.java * @Package org.entity * @Description: TODO该方法的主要作用: * @author A18ccms A18cc ...

  7. ExcelToHtmlTable转换算法:将Excel转换成Html表格并展示(项目源码+详细注释+项目截图)...

    功能概述 Excel2HtmlTable的主要功能就是把Excel的内容以表格的方式,展现在页面中. Excel的多个Sheet对应页面的多个Tab选项卡. 转换算法的难点在于,如何处理行列合并,将E ...

  8. 汇编实验 用表格形式显示字符(附源码详细注释和相关注意的知识)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_40774175/article/ ...

  9. 常用算法 之一 详解 MD5 实现(基于算法的官方原文档)及源码详细注释

    写在前面   在之前的工作中,用到了CRC16.MD5 和 SHA1 算法,主要用来校验下发的文件.网上关于这些算法的文章铺天盖地,以下内容仅仅是自己在学习时候的一个记录,一些套话来自于互联网.下面先 ...

最新文章

  1. 数据流模式、转换、格式与操作
  2. 一行代码引来的安全漏洞就让我们丢失了整个服务器的控制权
  3. 无锁队列设计思路以及简要代码
  4. 接口管理工具 - 资源篇
  5. linux入门指令 详解,Linux基础命令之mktemp详解
  6. Sonar集成CAS
  7. mysql中不重复_mysql中distinct的用法(不重复记录)
  8. 列出场景对象Lightmap属性
  9. 如何用 Nginx 禁止国外 IP 访问网站 ?
  10. CPU cache侧信道攻击
  11. 麒麟案例 | 创业之路,跨境起“杭”
  12. Python生信练习
  13. RT-Thread移植到STM32单片机过程
  14. iOS 如何让APP 删除后不接受 APNS 推送消息
  15. 保存相片是什么图像格式?
  16. 计算机专业想进国企考研可以考什么,毕业后想进国企,可以报考这些专业,更容易拿到铁饭碗,前途无量...
  17. PAT A1034 Head of a Gang (30 分)
  18. 更简单的非递归遍历二叉树
  19. SpringMVC 自动注入 Request 和 Response 对象
  20. 对角线用计算机怎么算,显示器对角线尺寸与厘米英寸分辨率在线转换关系

热门文章

  1. Deque(双向队列 c++模版实现 算法导论第三版第十章10.1-5题)
  2. html自定义鼠标右键,js自定义鼠标右键的实现原理及源码
  3. fastreport字体自适应_FastReport 自动换行与行高自适应及自动增加空行
  4. word List 10
  5. Java线程的6种状态
  6. E 速度即转发(牛客挑战赛48)(树套树)
  7. Gym - 102001K Boomerangs 构造 + 三元环
  8. P4097 [HEOI2013]Segment 李超线段树
  9. AGC011D - Half Reflector(模拟)
  10. 1153 Decode Registration Card of PAT (25分)