本篇论文讲的是模糊查询然后返回的是一个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

运行结果正确。


来源: 传智播客

06Mybatis_入门程序——根据用户的名字模糊查询返回List集合的更多相关文章

  1. 08Mybatis_入门程序——增加用户的操作以及返回自增主键的功能以及返回非自增主键的功能

    本文要实现的功能是:给user表增加一个用户. 建表如下:

  2. 09Mybatis_入门程序——删除用户以及更新用户

    删除用户: 还是前面的的案例,别的都不改,就修改两处地方.1.user.xml文件以及2.Mybatis_first.java文件 user.xml文件代码修改如下: <?xml version ...

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

    1. mybatis的基本准备操作见我的上一篇博文:https://www.cnblogs.com/wyhluckdog/p/10149480.html 2. 根据用户名查询用户信息: (1)映射文件 ...

  4. Mybatis入门程序(一)

    1.入门程序实现需求 根据用户id查询一个用户信息 根据用户名称模糊查询用户信息列表 添加用户(二) 更新用户(二) 删除用户(二) 2.引入Mybatis所需 jar 包(Maven工程) < ...

  5. 使用mybatis开发Dao的原始方法,实现根据用户id查询一个用户信息 、根据用户名称模糊查询用户信息列表 、添加用户信息等功能

    1.需求 将下边的功能实现Dao: 根据用户id查询一个用户信息 根据用户名称模糊查询用户信息列表 添加用户信息 2. 原始Dao开发方法需要程序员编写Dao接口和Dao实现类 3.User.xml映 ...

  6. MyBatis使用模糊查询用户信息及log4j配置文件详解

    1.1 根据用户名称模糊查询用户信息 根据用户名模糊查询用户信息,只需要我们更改映射文件中的sql语句.其他的内容跟上一篇的内容是一样的 1.2添加根据用户名称模糊查询用户信息的sql语句 实例中是查 ...

  7. springMVC2 1入门程序

    1入门程序 .1需求 实现商品列表查询 .2需要的jar包 使用spring3.2.0(带springwebmvc模块) .1前端控制器 在web.xml中配置: <?xml version=& ...

  8. 动态SQL与模糊查询

    一: 1.需求 实现多条件查询用户(姓名模糊查询,年龄在指定的最小值与最大值之间) 2.结构目录 3.准备数据与建表 CREATE TABLE d_user( id int PRIMARY KEY A ...

  9. EF一对多的表,模糊查询2个表的数据!

    如用户表和电话表,要求搜索时可以模糊查询姓名和号码.都可以找到包含该字符的所有用户. /// <summary> /// 模糊查询姓名和电话号码,并按姓名排序返回 /// </sum ...

随机推荐

  1. 【Discuz】-QQ互联登陆提示错误信息:Unknown column 'conuintoken' in 'field list'

    提示信息 discuz! Database Error(1054) Unknown column 'conuintoken' in 'field list'REPLACE INTO common_co ...

  2. 了解HTML表单之input元素的23种type类型

    目录 传统类型 text password file radio checkbox hidden button image reset submit 新增类型 color tel email url ...

  3. 转载--redis密码管理

    源地址:http://blog.csdn.net/lxpbs8851/article/details/8136126 ps -ef 查看正在活动的进程 ps -ef |grep abc 查看含有&qu ...

  4. Testing - 测试基础 - 流程

    测试存在于各个阶段: 需求测试--->单元测试--->集成测试--->系统测试--->性能测试--->用户测试--->回归测试 需求测试 完整性&正确性 一 ...

  5. 常用的Webservice接口

    常用的Webservice接口 . 查询手机:http://www.yodao.com/smartresult-xml/search.s?type=mobile&q=手机号码 . 查询IP:h ...

  6. GitHub一代:我们都是开源控

    我们是新的GitHub一代?GitHub塑造了新式开源文化?嗯,看看十几年开源控.Getable CTO Mikeal Rogers 是怎么说的吧: GitHub本来想做一个开源软件协作平台,结果做着 ...

  7. vim黏贴自动增加tab的毛病

    vim在ctrl + p的时候有可能会自动给你增加了个tab 很是郁闷   解决方法如下: :set noautoindent :set nosmartindent

  8. StringExtensions

    public static string MakeSafeSql(this string s) { string t = s; t = t.Replace("'", "' ...

  9. Sandcastle帮助文档生成器使用介绍

    一.软件介绍       Sandcastle是一个管理类库的文档编译器,是用于编译发布组件(Assembly)信息的一个工具,这个工具通过反射和Xslt技术,可以从dll文件及其xml注释(命令行编 ...

  10. c# 指定的存储区提供程序在配置中找不到,或者无效

    <system.data> <DbProviderFactories> <remove invariant="System.Data.SQLite"/ ...