Mybatis框架模糊查询

一、ISmbmsUserDao层

    //根据姓名模糊查询
    public List<Smbms> getUser();
    //多条件查询
    public List<Smbms> getLikeUser(@Param("userName") String userName , @Param("userCode") String userCode );

二、小配置文件 ISmbmsUserDao.xml

<!--根据姓名模糊查询-->
    <select id="getUser" resultType="com.smbms.entity.Smbms">
        <!--select * from smbms_user where userName like CONCAT(‘%‘,#{userName},‘%‘)-->
        select * from smbms_user where userName like ‘%‘ #{userName} ‘%‘
    </select>

<!--多条件查询-->
    <select id="getLikeUser" resultType="com.smbms.entity.Smbms">
        <!--select * from smbms_user where userName like CONCAT(‘%‘,#{userName},‘%‘)-->
        select * from smbms_user where userName like ‘%‘ #{userName} ‘%‘ and userCode like ‘%‘ #{userCode} ‘%‘
    </select>

三、测试类

//根据姓名模糊查询
        /*List<Smbms> getUser=sqlSession.selectList("getUser","马");
        for (Smbms users:getUser) {
            System.out.println(users.getUserName());
        }*/

        //多条件查询
        ISmbmsUserDao mapper=sqlSession.getMapper(ISmbmsUserDao.class);
        List<Smbms> getUser=mapper.getLikeUser("马","yuan");
        for (Smbms users:getUser) {
            System.out.println(users.getUserName()+"================="+users.getUserpwd());
        }

原文地址:https://www.cnblogs.com/danxun/p/11636822.html

时间: 2024-08-02 14:03:44

Mybatis框架模糊查询的相关文章

mybatis的模糊查询格式

mybatis的模糊查询格式: <select id="xxx" parameterType="com.model.xxx" resultMap="BaseResultMap"> select * from users WHERE 1=1 <if test="name != null and name != ''" > and name like CONCAT('%',#{name,jdbcType=V

Mybatis中文模糊查询,数据库中有数据,但无结果匹配

1.Mybatis中文模糊查询,数据库中有数据,但无结果匹配 1.1 问题描述: Mybatis采用中文关键字进行模糊查询,sql语句配置无误,数据库有该数据,且无任何报错信息,但无查询结果 1.2 解决方法: 修改数据库连接地址: url=jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8 其中,characterEncoding=UTF-8必须写在第一位 原文地址:https://www.cnblogs.com/caoleiCod

Mybatis的模糊查询以及自动映射

Mybatis的模糊查询 1.  参数中直接加入%% param.setUsername("%CD%"); param.setPassword("%11%"); <select id="selectPersons" resultType="person" parameterType="person"> select id,sex,age,username,password from person

Mybatis中模糊查询使用中文无法查询

解决Mybatis中模糊查询使用中文关键字无法查询 解决方法: 在mybatis中,采用模糊查询时,如果使用中文查询则无法查询出结果:采用英文则可以 解决方法:在sqlconfig.xml中:url的value值的后面加上?useUnicode=true&characterEncoding=UTF-8 原文地址:https://www.cnblogs.com/bestjdg/p/12043867.html

使用SMM框架开发企业级应用-----初始Mybatis的模糊查询以及自动映射

在学习MyBatis过程中想实现模糊查询,下面列举几种方式:1.用${…}代替#{…}    SELECT * FROM tableName WHERE name LIKE CONCAT(CONCAT('%', #{text}), '%');  2.  bind标签  3. CONCAT Mybatis的自动映射 0x00:引子 在 MyBatis 的映射配置文件中,select 标签查询配置结果集时使用过 resultType 属性,当在 resultType 中定义一个 Java 包装类时,

mybatis like 模糊查询

Mybatis用like进行模糊查询的时候,配置与所用的数据库有关系,总结了下,具体如下: 1.MySQL :LIKE CONCAT('%',#{empname},'%' ) 2.Oracle:LIKE '%'||#{empname}||'%'

Mybatis各种模糊查询

模糊查询: 工作中用到,写三种用法吧,第四种为大小写匹配查询 1. sql中字符串拼接 SELECT * FROM tableName WHERE name LIKE CONCAT(CONCAT('%', #{text}), '%'); 2. 使用 ${...} 代替 #{...} SELECT * FROM tableName WHERE name LIKE '%${text}%'; 3. 程序中拼接    Java // or String searchText = "%" + t

【MyBatis框架】查询缓存-二级缓存原理

二级缓存原理 1.原理 首先看图 首先开启mybatis的二级缓存. sqlSession1去查询用户id为1的用户信息,查询到用户信息会将查询数据存储到二级缓存中. 如果SqlSession3去执行相同 mapper下sql,执行commit提交,清空该 mapper下的二级缓存区域的数据. sqlSession2去查询用户id为1的用户信息,去缓存中找是否存在数据,如果存在直接从缓存中取出数据. 二级缓存与一级缓存区别,二级缓存的范围更大,多个sqlSession可以共享一个UserMapp

mybatis只能模糊查询英文不能查询中文

解决方法:修改配置文件,最简单的完美修改方法,修改mysql的my.cnf文件中的字符集键值(注意配置的字段细节): 1.在[client]字段里加入default-character-set=utf8,如下:1[client]2port = 33063socket = /var/lib/mysql/mysql.sock4default-character-set=utf8 2.在[mysqld]字段里加入character-set-server=utf8,如下:1[mysqld]2port =