• mybatis框架入门程序:演示通过mybatis实现数据库的模糊查询操作


    1. mybatis的基本准备操作见我的上一篇博文:https://www.cnblogs.com/wyhluckdog/p/10149480.html

    2. 根据用户名查询用户信息:

    (1)映射文件:

      在User.xml中添加:

    <!-- 模糊查询
            返回结果可能为集合;如果返回结果为集合,调用selectList(),并且返回类型配置集合中的泛型。集合中存放的就是User,所以返回类型就是User类型
            ${}拼接符:字符串原样拼接。如果传入的基本类型{String,long,double,int boolean等},那么
            ${}中的变量名必须是value.
        -->
        <select id="findUserByUsername" parameterType="java.lang.String" resultType="com.huida.po.User">
            <!-- 模糊查询的占位符需要进行拼接 -->
            select * from user where username like "%${value}%"
        </select>

      parameterType:定义输入到sql中的映射类型。

      返回结果可能为集合;如果返回结果为集合,在测试文件中调用selectList(),并且返回类型配置集合中的泛型。集合中存放的就是User,所以返回类型就是User类型。

      ${}拼接符:字符串原样拼接。如果传入的基本类型{String,long,double,int boolean等},那么${}中的变量名必须是value。

    (2)测试程序:

        @Test
        public void testFindUserByUsername() throws Exception{
            //通过流将核心配置文件读取进来
            InputStream inputStream=Resources.getResourceAsStream("config/SqlMapConfig.xml");
            //通过核心配置文件输入流来创建工厂
            SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(inputStream);
            //通过工厂创建session
            SqlSession openSession=factory.openSession();
            //查询语句,返回值为User对象
            List<User> list=(List) openSession.selectList("test.findUserByUsername","li");
            System.out.println(list);
            //关闭资源
            openSession.close();
            //factory没有close(),因为session关闭之后,factory也就关闭了。
        }

    3.单元测试:

      当我们查询的条件是“li”的时候,会输出名字中带li的所有记录,当我们的查询条件是“lisi”的时候,查询结果只有username为“lisi”的这一条记录。所以通过模糊查询可以实现查询一条或多条记录。

  • 相关阅读:
    【转帖】Explorer参数详解
    获取html页面时如何选择合适的Encoding
    不要在wpf窗口类的构造函数中抛异常
    把FlvDownloader重构了一下
    VK Cup 2012 Qualification Round 1 A. Next Round
    迎接2012新赛季——HDOJ系列热身赛(2) Problem A HDU 4161 Iterated Difference
    青蛙过河~~~~
    VK Cup 2012 Qualification Round 1 D. Ice Sculptures
    HDU 1006 Tick and Tick
    ACM参赛总结
  • 原文地址:https://www.cnblogs.com/wyhluckdog/p/10149844.html
Copyright © 2020-2023  润新知