查询
sql的模糊查询的语句如下 select * … like ‘%’ …’%’
有时候Mybatis里会报错,可以这样写:
<select id="findUserByName" parameterType="java.lang.String" resultType="com.gn.bean.UserInfo">
select * from tb_user where username like CONCAT('%',#{username,jdbcType=VARCHAR},'%')
</select>
补上对应Dao层、Service层、Controller层代码即可
注,controller:
@RequestMapping("/findUserByName.do")
public ModelAndView findUserByName(@RequestParam(defaultValue = "1") int page,@RequestParam(defaultValue = "5") int size,String username)
{
List<UserInfo> userInfoList = userInfoService.findUserByName(page,size,username);
PageInfo pageInfo = new PageInfo(userInfoList); //把结果集给到pageInfo中,分页
ModelAndView mv = new ModelAndView();
mv.addObject("pageInfo",pageInfo);
mv.addObject("username",username); //把分页时的username传过去
mv.addObject("currentPage","findUserByName.do");
mv.setViewName("user-list");
return mv;
}
分页
分页需要用到新的jar包,在pom.xml中引入:
<!--分页插件-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.2</version>
</dependency>
该插件与MyBatis共同作用,实质上是改写了MyBatis的sqlSession发送的语句,所以MyBatis处也要配置pagehelper:
<!-- 3.配置SqlSessionFactory对象 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 注入数据库连接池 -->
<property name="dataSource" ref="dataSource"/>
<!-- 扫描bean包 使用别名 -->
<property name="typeAliasesPackage" value="com.gn.bean"></property>
<!--配置加载映射文件 UserMapper.xml-->
<