zoukankan      html  css  js  c++  java
  • 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”的这一条记录。所以通过模糊查询可以实现查询一条或多条记录。

  • 相关阅读:
    Linux下设置svn开机自启动
    LNMP 如何安装mongodb ----lnmp一键安装包之后
    MySQL表类型MyISAM/InnoDB的区别(解决事务不回滚的问题)
    PHP处理MySQL事务代码
    php redis 秒杀demo
    PHP5.6版本安装redis扩展
    Jzoj5662 尺树寸泓
    Jzoj3351 神牛养成计划2
    Jzoj5622 table
    Jzoj5608 Subset
  • 原文地址:https://www.cnblogs.com/wyhluckdog/p/10149844.html
Copyright © 2011-2022 走看看