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”的这一条记录。所以通过模糊查询可以实现查询一条或多条记录。

mybatis框架入门程序:演示通过mybatis实现数据库的模糊查询操作的更多相关文章

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

    我们现在工程基于的数据库见“https://www.cnblogs.com/wyhluckdog/p/10147754.html”这篇博文. 1.mybatis下载 mybatis的代码由githua ...

  2. mybatis框架入门程序:演示通过mybatis实现数据库的修改操作

    1.mybatis的基本配置工作可以在我的这篇博客中查看:https://www.cnblogs.com/wyhluckdog/p/10149480.html 2.修改用户的配置文件: <upd ...

  3. mybatis框架入门程序:演示通过mybatis实现数据库的删除操作

    1.mybatis的基本配置工作可以在我的这篇博客中查看:https://www.cnblogs.com/wyhluckdog/p/10149480.html 2.删除用户的映射文件: <!-- ...

  4. mybatis框架入门程序:演示通过mybatis实现数据库的插入操作中实现返回结果的获取

    1.mybatis实现数据库的插入操作可以查看https://www.cnblogs.com/wyhluckdog/p/10149895.html这篇博文,这里面的插入操作没有返回结果,所以这篇博文就 ...

  5. mybatis框架入门程序:演示通过mybatis实现数据库的添加操作

    1.mybatis的基本配置准备在我的这篇博文中可以找到:https://www.cnblogs.com/wyhluckdog/p/10149480.html 2. 映射文件: 在User.xml中添 ...

  6. Mybatis框架入门

    Mybaits框架 一.什么是Mybatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了googl ...

  7. Mybatis(二)入门程序-通过id查找用户、模糊查找用户、添加用户、删除用户

    根据下图myBatis的架构,创建一个使用MyBatis的工程.       一.配置MyBatis 环境(如图) 1.sqlMapConfig.xml 首先,导入jar包(上图右边)并加载路径,然后 ...

  8. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(20)-多条件模糊查询和回收站还原的实现

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(20)-多条件模糊查询和回收站还原的实现 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架 ...

  9. 一看就懂的Mybatis框架入门笔记

    本篇为初学Mybatis框架时的入门笔记,整理发出 Spring集成Mybatis https://www.cnblogs.com/yueshutong/p/9381590.html SpringBo ...

随机推荐

  1. C#读写三菱Fx PLC 使用Fx 串口协议 读写Fx3U设备

    本文将使用一个Github开源的组件库技术来读写三菱 FX PLC,使用的是基于串口的实现,不需要额外的组件,读取操作只要放到后台线程就不会卡死线程,本组件支持超级方便的高性能读写操作 github地 ...

  2. linux 下的php_gd2.dll

    今天写验证码时,发现要配置php.ini,单不知在哪儿,用下面的办法可以解决. <?php phpinfo(); ?> 用vim搜索字符串时,发现一个命令特别好用 /字符串 就可以搜索到字 ...

  3. 20145237 Exp2 后门原理与实践

    20145237<网络对抗>Exp2 后门原理与实践 Windows获得Linux Shell 在Windows下,先使用ipconfig指令查看本机IP: 输入ncat.exe -l - ...

  4. 在 Windows 下安装 Oracle 11g XE (Express Edition)

    Oracle 11g XE 是 Oracle 数据库的免费版本,支持标准版的大部分功能,11g XE 提供 Windows 和 Linux 版本. 做为免费的 Oracle 数据库版本,XE 的限制是 ...

  5. anrdroid AVD启动不起来的问题。Waiting for HOME ('android.process.acore') to be launched

    Waiting for HOME ('android.process.acore') to be launched 卡在这里了. 可以到sdk mananager里面先启动起来AVD,然后在eclip ...

  6. Phonegap 通信原理

    下图为JavaScript调用本地代码的通信过程 Phonegap的核心API都是基于插件的,这些JavaScript API都会调用cordova.exec() 函数来完成操作.cordova.ex ...

  7. XSS漏洞攻击原理与解决办法

    转自:http://www.frostsky.com/2011/10/xss-hack/ 对于的用户输入中出现XSS漏洞的问题,主要是由于开发人员对XSS了解不足,安全的意识不够造成的.现在让我们来普 ...

  8. 汇编_指令_INC

    加1指令 INC指令功能:目标操作数+1 INC指令只有1个操作数,它将指定的操作数的内容加1,再将结果送回到该操作数.INC指令将影响SF,AF,ZF,PF,OF标志位,但是不影响CF标志位. IN ...

  9. 认识Linux操作系统

    Linux系统是一个类似UNIX的操作系统 认识Linux的来世与今生 1.Linux系统的历史 Linux系统是一个类似UNIX的操作系统,Linux系统是UNIX在微机上的完整实现,它的标志是一个 ...

  10. 基于sersync海量文件实时同步

    项目需求:最近涉及到数百万张图片从本地存储迁移到云存储,为了使完成图片迁移,并保证图片无缺失,业务不中断,决定采用实时同步,同步完后再做流量切换.在实时同步方案中进行了几种尝试. 方案1:rsync+ ...