• 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();
        }
    

      

  • 相关阅读:
    HEVC软件记录
    怪诞行为学
    docker学习实践之路[第一站]环境安装
    centos系统(ssh)登录缓慢(输入账户密码后需要等待若干时间)
    CentOS7.x编译安装nginx,实现HTTP2
    vs 2017 IIS EXPRESS 增加局域网访问
    nginx在centos 7中源码编译安装【添加grpc的支持】
    docker学习实践之路[第五站]mysql镜像应用
    docker学习实践之路[第四站]利用pm2镜像部署node应用
    docker学习实践之路[第三站]node站点部署
  • 原文地址:https://www.cnblogs.com/tanlei-sxs/p/9882381.html
Copyright © 2020-2023  润新知