用mybatis进行模糊查询总是查不到结果!

Posted 凉心、惊梦。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用mybatis进行模糊查询总是查不到结果!相关的知识,希望对你有一定的参考价值。

//IStudentDao.xml

@Override
public List<Student> selectStudentByName(String name) { SqlSession sqlSession = null; List<Student> list = null; try { sqlSession = mysqlSession.getSqlSession(); list = sqlSession.selectList("selectList",name); } catch (IOException e) { e.printStackTrace(); }finally { if(sqlSession!=null){ sqlSession.close(); } } return list; }

test类里

    @Test
    public void test08()
    {
        IStudentDao studentDao = new IStudentDaoImpl();
        List<Student> students = studentDao.selectStudentByName("三");
        System.out.println("查找成功!");
        for (Student student:
             students) {
            System.out.println(student);
        }

    }

 

IStudentDao.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">
<mapper namespace="com.abc.dao.IStudentDao">
    <select id="selectList"  resultType="com.abc.beans.Student">
        select * from student where name like ‘%‘ #{name} ‘%‘
    </select>

</mapper>

为了进行模糊查询,结果总是查询不到结果!!!

分析:

代码没问题,表中也有数据,sql语句放在数据库中也能查询到结果也没问题,

那就是连接的问题,仔细查了一遍也没问题!但是第二天本来要放弃,又找了个帮我看,没看出来,他想要走的时候我试试在连接处添加一个?characterEncoding=utf8,因为我的数据库原本就有编码问题

 <environments default="development">
        <environment id="development">
        <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}"/><!---->
                <property name="url" value="${jdbc.url}?characterEncoding=utf8"/>
           ...

最初的时候插入数据就乱码。

这个地方出错源自于我潜意识里觉得查询时乱码不会影响查询结果,最后我错了。

最后数据库编码问题会影响插入,修改,模糊查询,复合条件查询中带有like ‘%x%‘ 的。但不影响进行所有查询,根据id查询,

不知道原因,日后研究

 

 

以上是关于用mybatis进行模糊查询总是查不到结果!的主要内容,如果未能解决你的问题,请参考以下文章

两条mybatis sql语句第二条要用到第一条查出来的数据进行模糊查询 怎么整合成一条

mybatis一对多关联为啥查询不到数据

plsql查询中'%%'是模糊查询吗?为啥查不出来呢?

模糊查询sql语句条件是中文在后台从数据库查不到结果,是英文和字母就可以,而且统一编码为UTF-8了!!!

asp+access like 模糊查询查不到内容

mybatis模糊查询sql