• 06Mybatis_入门程序——根据用户的名字模糊查询返回List集合


    本篇论文讲的是模糊查询然后返回的是一个list集合。

    这片文章的案例是基于上一篇文章的,所以主要修改两处地方就可以了。

    1.user.xml

    2.Mybatis_first.java

    user.xml代码如下:

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper
    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <!-- nanmespace:命名空间。 作用就是对sql进行分类话管理,理解Sal分离
    
    注意:使用mapper代理方式,namespace有特殊重要的作用
    -->
    
    <mapper namespace="test">
        
        <!-- 根据id获取用户信息 -->
        <!-- 在映射文件中配置很多sql语句 -->
        <!-- 
        id:标识映射文件中的sql;
        将sql语句封装到mappedStatement对象中,所以将id称为statement的id;parmenterType:指定输入的参数的类型,这里指定的int型
        #{}表示一个占位符号;
        #{id}:其中的id表示接收输入的参数,参数名称就是id,如果输入参数就是简单类型,#{}中的参数名可以任意,可以value或其它名称
        resultType:指定的sql输出结果的所映射的java对象类型,select指定resultType表示将单条记录映射成的java对象;
        
         -->
    
        <!-- 根据用户的名字模糊查询
        resultType指的是单条记录所映射的java类型,不管查询的是多条还是单条
         -->
        <select id="findUserByUsername" parameterType="java.lang.String" 
                resultType="cn.itcast.mybatis.po.User">
           select * from user where username like '%${value}%' 
        </select>
       
    </mapper>

    Mybatis_first.java的代码如下:

    package cn.itcast.mybatis.first;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.List;
    
    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.junit.Before;
    import org.junit.Test;
    
    import cn.itcast.mybatis.po.User;
    
    public class Mybatis_first {
        
        //会话工厂
        private SqlSessionFactory sqlSessionFactory;
        //这些事必备的,所以放在Before这里了
        @Before
        public void createsqlSessionFactory() throws IOException
        {
            //配置文件
            String resource="SqlMapConfig.xml";
            InputStream inputStream=Resources.getResourceAsStream(resource);
            //使用SqlSessionFactoryBuilder从配置文件中创建SqlSessionFactory.
            sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
        }
        @Test
    //根据id查询用户的信息
        public void testFindUseById()
        {    //数据库会话实例
            SqlSession sqlSession=null;
            try {
            
                //创建数据库会话实例sqlSession;
                sqlSession=sqlSessionFactory.openSession();
                
            //    User user=sqlSession.selectOne("test.findUserById", 10);
                
                List<User> listuser=sqlSession.selectList("test.findUserByUsername", "小明");
                System.out.println("模糊查询得到的员工数量是"+listuser.size());
                //System.out.println(user);
            } catch (Exception e) {
                
                e.printStackTrace();
            }
            finally{
                //如果sqlSession实例是创建的那么把他关闭掉
                if(sqlSession!=null)
                {sqlSession.close();
                    
                }
                
                
                
            }
            
            
        }
        
        
    
         
        
        
        
        
    }

    运行的结果是:模糊查询得到的员工数量是3

    运行结果正确。

  • 相关阅读:
    php stdClass转数组
    PHP 获取1970年前的时间戳,且为负
    springboot响应格式Resullt封装
    php使用elasticsearch
    day0620211207
    day0820211209
    day022021121
    day0520211206
    day0720211208
    day0320211202
  • 原文地址:https://www.cnblogs.com/shenxiaoquan/p/5773977.html
Copyright © 2020-2023  润新知