zoukankan      html  css  js  c++  java
  • Mybatis通过工具类根据用户名查找用户列表

    抽取SqlSessionFactoryUtils工具类,共享SqlSessionFactory创建过程

    /**
     * SqlSessionFactory工具类
     * @author:Mr.Tan
     * @Create:2018-10-30-23-14
     **/
    public class SqlSessionFactoryUtils {
        private static  SqlSessionFactory sqlSessionFactor;
    
        static {
            try {
                //创建SqlSessionFactoryBuilder对象
                SqlSessionFactoryBuilder ssfb=new SqlSessionFactoryBuilder();
                //创建核心配置文件的输入流
                InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");
                //通过输入流创建SqlSessionFactor对象
                sqlSessionFactor=ssfb.build(inputStream);
            } catch (IOException e) {
                e.printStackTrace();
            }
    
        }
    
        /**
         * 获取SqlSessionFactory
         * @return
         */
        public static SqlSessionFactory getSqlSessionFactor() {
            return sqlSessionFactor;
        }
    
        public static void setSqlSessionFactor(SqlSessionFactory sqlSessionFactor) {
            SqlSessionFactoryUtils.sqlSessionFactor = sqlSessionFactor;
        }
    }
    

    根据用户ID查询用户信息

     

    修改 映射文件与sql

    <!--#{}相当于jdbc的?-->
    <!--${}:字符串拼接指令,如果入参为普通数据类型{}内部职能写value-->
    <!--如果返回结果为集合时,只需设置为每一个的数据类型-->
        <select id="getUserByUserName" parameterType="String" resultType="com.tanlei.newer.pojo.User">
           <!--SELECT id,username,birthday,sex,address FROM user WHERE username LIKE #{name}-->
            SELECT id,username,birthday,sex,address FROM user WHERE username LIKE '%${value}%'
       </select>
    
    @Test
        public void  testGetUserByUserName(){
            //获取SqlSessionFactory
            SqlSessionFactory  sqlSessionFactor= SqlSessionFactoryUtils.getSqlSessionFactor();
            //创建sqlSession对象
            SqlSession sqlSession=sqlSessionFactor.openSession();
           // List<User> list=sqlSession.selectList("user.getUserByUserName","%张%");
            List<User> list=sqlSession.selectList("user.getUserByUserName","");
            for(User user:list){
                System.out.println(user);
            }
            //释放资源
            sqlSession.close();
        }
    

      

  • 相关阅读:
    mybatis-day1
    java基础
    pytest进阶之html测试报告
    pycharm在github上clone项目
    selenium中的显示等待WebDriverWait与条件判断expected_conditions举例
    pytest-html报告中添加报错截图
    Fiddler抓包工具如何设置过滤域名
    os.system运行cmd命令时,命令中嵌套了引号
    Pytest之模块之间共享skipif标记
    Pycharm出现同一目录的py文件不能相互调用的问题
  • 原文地址:https://www.cnblogs.com/tanlei-sxs/p/9882381.html
Copyright © 2011-2022 走看看