本篇论文讲的是模糊查询然后返回的是一个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. 加载的过程中图片变形了? --教你自定义自动适配图片宽高比的RatioLayout

    很多同行在开发中可能会遇到这样的问题,就是在加载图片的时候会出现图片变形的问题.其实这很可能就是你的图片宽高比和图片所在容器的宽高比不匹配造成的.比如说图片的宽为200,高为100.宽高比就是2,那么 ...

  2. Implementation Model Editor of AVEVA in OpenSceneGraph

    Implementation Model Editor of AVEVA in OpenSceneGraph eryar@163.com 摘要Abstract:本文主要对工厂和海工设计软件AVEVA的 ...

  3. Geometry Surface of OpenCascade BRep

    Geometry Surface of OpenCascade BRep eryar@163.com 摘要Abstract:几何曲面是参数表示的曲面 ,在边界表示中其数据存在于BRep_TFace中, ...

  4. php分享(三十五) 文件多写注意事项

    1: resource fopen ( string $filename , string $mode [, bool $use_include_path = false [,resource $co ...

  5. [c++] Associative Containers

    关联容器 和 顺序容器 的本质差别在于: 关联容器通过键(key)存储和读取元素,而顺序容器则通过元素在容器中的位置顺序存储和访问元素. Reference: http://www.cnblogs.c ...

  6. Android 自动补全提示输入AutoCompleteTextView、 MultiAutoCompleteTextView

    以在搜索框搜索时,自动补全为例: 其中还涉及到一个词,Tokenizer:分词器,分解器. 上效果图: MainActivity.java: package com.joan.testautocoml ...

  7. Dapper的基本使用

    Dapper是.NET下一个micro的ORM,它和Entity Framework或Nhibnate不同,属于轻量级的,并且是半自动的.也就是说实体类都要自己写.它没有复杂的配置文件,一个单文件就可 ...

  8. 推荐20款基于 jQuery & CSS 的文本效果插件

    jQuery 和 CSS 可以说是设计和开发行业的一次革命.这一切如此简单,快捷的一站式服务.jQuery 允许你在你的网页中添加一些真正令人惊叹的东西而不用付出很大的努力,要感谢那些优秀的 jQue ...

  9. 实战:微信小程序支付开发具体流程

    来源:授权地址作者:会编码的熊 该文章纪录了我在开发小程序支付过程中的具体流程 1. 申请微信支付 小程序认证后进入微信支付申请小程序的微信支付 填写企业信息对公账户并上传凭证后,微信支付会打一笔随机 ...

  10. 【知识积累】DES算法之C#加密&Java解密

    一.前言 在项目需要添加安全模块,客户端调用服务端发布的service必须要经过验证,加密算法采用DES,客户端采用C#进行加密,服务端使用Java进行解密.废话不多说,直接上代码. 二.客户端 客户 ...