02_模糊查询

【工程截图和数据库同01】

【user.xml】

根据用户名来查询对应的User

<select id="findUserByName" parameterType="java.lang.String" resultType="com.Higgin.Mybatis.po.User">
      SELECT *  FROM USER WHERE username LIKE #{value}</select>
<select id="findUserByName2" parameterType="java.lang.String" resultType="com.Higgin.Mybatis.po.User">
      SELECT *  FROM USER WHERE username LIKE ‘%${value}%‘
</select>

1.根据用户名称模糊查询用户信息,可能返回多条
2.resultType :指定就是单条记录所映射的java对象类型
3.${ }:表示拼接sql字符串,将接受到参数的内容不加任何修饰拼接在sql中。
4.使用${}拼接字符串,引起sql注入,不建议使用
5.${value}:接受输入参数的内容,如果传入类型是简单的类型,${}中只能使用value

【MyBatisTest.java】

@Test
    public void testFindUserByName() throws IOException{
        //mybatis配置文件
        String resource="SqlMapConfig.xml";

        //得到配置文件
        InputStream inputStream=Resources.getResourceAsStream(resource);

        //创建会话工厂,传入mybatis的配置文件信息
        SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);

        //通过工厂得到SqlSession
        SqlSession sqlSession=sqlSessionFactory.openSession();

        //通过SqlSession操作数据库
        //第一个参数:银蛇文件中statement的id,等于:namespace+"."+statement的id
        //第二个参数:指定换个映射文件中的所撇皮的parameterType类型的参数
        List<User> userList=sqlSession.selectList("test.findUserByName2", "小明");  //不推荐!!!!以引起SQL注入
        for (User user : userList) {
            System.out.println(user.toString());
        }

        //释放资源
        sqlSession.close();
    }

【运行结果如下】

【MyBatisTest.java】

@Test
    public void testFindUserByName() throws IOException{
        //mybatis配置文件
        String resource="SqlMapConfig.xml";

        //得到配置文件
        InputStream inputStream=Resources.getResourceAsStream(resource);

        //创建会话工厂,传入mybatis的配置文件信息
        SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);

        //通过工厂得到SqlSession
        SqlSession sqlSession=sqlSessionFactory.openSession();

        //通过SqlSession操作数据库
        //第一个参数:银蛇文件中statement的id,等于:namespace+"."+statement的id
        //第二个参数:指定换个映射文件中的所撇皮的parameterType类型的参数
        List<User> userList=sqlSession.selectList("test.findUserByName", "%小明%");  //推荐
        for (User user : userList) {
            System.out.println(user.toString());
        }

        //释放资源
        sqlSession.close();
    }

【运行结果】

时间: 2024-08-02 06:56:23

02_模糊查询的相关文章

10 行 Python 代码实现模糊查询/智能提示

10 行 Python 代码实现模糊查询/智能提示 1.导语: 模糊匹配可以算是现代编辑器(如 Eclipse 等各种 IDE)的一个必备特性了,它所做的就是根据用户输入的部分内容,猜测用户想要的文件名,并提供一个推荐列表供用户选择. 样例如下: Vim (Ctrl-P) Sublime Text (Cmd-P) '模糊匹配'这是一个极为有用的特性,同时也非常易于实现. 2.问题分析: 我们有一堆字符串(文件名)集合,我们根据用户的输入不断进行过滤,用户的输入可能是字符串的一部分.我们就以下面的

MySQL指定模糊查询范围 或 获取或者查询数据库字段的特定几位

SUBSTR 函数 正常的: select * from sky_user WHERE name LIKE "%name%" 现在我需要匹配name的前五位 select * from sky_user WHERE SUBSTR(name,1,5) LIKE "%name%" SQL 中的 substring 函数是用来抓出一个栏位资料中的其中一部分.这个函数的名称在不同的资料库中不完全一样: MySQL: SUBSTR( ), SUBSTRING( ) Oracl

DevExpress 选择框如何进行模糊查询

dev中有很多的选择框控件,但是没有发现能够实时模糊查询的选择框,lookupedit是在数据源不变情况下实现自动匹配,但很多时候数据量太大以至于我们没法先绑定数据源. 这时我们需要一个能够实现实时匹配的SearchTextBox.这里我们用到了popupcontainerEdit. 先从工具栏中拖一个popupcontainerEdit和一个popucontainerControl.popupcontainerEdit像是一个lookupedit的输入选择框.而popucontainerCon

sql server模糊查询、分组

一.系统函数 1.convert(类型[length] ,表达式[,样式]) 2.isnull(表达式,默认值) 字符函数:  len() 长度  ltrim()|rtrim()去除左右空格  right()|left()截取右边或左边字符  substring():按位置和长度截取 日期函数:  dateadd()  日期加操作  dateDiff()  两个日期差  getdate()  获取当前系统日期  datepart() 获取日期中一部分 二.模糊查询  like '模式'    只

python模糊查询

#!/bin/env python #coding:utf-8 filename = '/py/Day01/Contact/userinfo' init_username = 'frame' init_password = 'frame' success = 0 while True:     username = raw_input("Username: ").strip()     password = raw_input("Password: ").strip

mongodb 模糊查询以及$type使用

mongodb 模糊查询以及$type使用 2012-09-11 14:13:30|  分类: mongodb |  标签: |举报 |字号大中小 订阅 最近有一监控业务,由于数据采集到非数字内容,导致监控图表无法正常显示,所以要找出这部分数据,进行删除,然后开发员从源头更正插入数据库的数据,不再产生非数字内容. 下面举一个例子: 建立测试数据: for(i=1;i<=100;i++){db.test.insert({id:i,content:"test content",nam

数据库之模糊查询,视图,序列,索引

1. 模糊查询 关键字" like " %  代表任意个字符 _代表一个字符 select test1 from test where test1 like _b(%b%) //查询test表中test1列中 第二个字符是b的数据(中含有b数据) 2. 视图 好处: 1)限制对数据库的访问2)简化查询3)维护数据的独立性4)对相同的数据可以建立不同的视图5)可以删除视图而不影响数据 create [or replace] view v_test as (要建成视图的数据) //as后可

如何结合IbatisNet的LIST遍历实现模糊查询

我仿照Java的Spring+Ibatis+Struct用Castle+IBatisNet+Asp.net的开发框架的DAO的基类:BaseSqlMapDao内定义了一个内部类来辅助模糊查询.内部类代码如下:protected internal  class KeyWordSearch   {   private IList keywordList = new ArrayList(); public KeyWordSearch(String keywords)    {    StringTok

SQL Server之 (二) SQL语句 模糊查询 空值处理 聚合函数

(二) SQL语句  模糊查询  空值处理  聚合函数 自己学习笔记,转载请注明出处,谢谢!---酸菜 SQL :结构化查询语言(Structured Query Language),关系数据库管理系统的标准语言. Sybase与Mircosoft对标准SQL做了扩展:T-SQL (Transact-SQL); 注:①SQL对大小写的敏感取决于排序规则,一般不敏感; ②SQL对单引号的转义,用两个单引号来表示一个单引号; ③SQL执行顺序: 1→2→3→4 select  * ---------