环境说明
mysql 5.7版本 mysql中创建sx的数据库,在sx数据库中有一张tb_user的表 tb_user的表中有id,username,password 三个字段 Tomcat 9.0版本 maven 3.6.3
mybatis中模糊查询sql语句
select * from table_name where username like concat( '%' ,
Controller
@RequestMapping ( "/findUser.do" )
public ModelAndView findUser ( @RequestParam ( defaultValue = "1" ) int currentPage, String username) {
PageInfo< User> pageInfo= userService. findUser ( currentPage, username) ;
ModelAndView modelAndView = new ModelAndView ( ) ;
modelAndView. addObject ( "pageInfo" , pageInfo) ;
modelAndView. setViewName ( "user-list" ) ;
return modelAndView;
}
bean
package allone8. bean;
import java. util. List;
public class PageInfo < T> {
private List< T> list;
private int totalPage;
private int size;
private int totalCiunt;
private int currentPage;
public List< T> getList ( ) {
return list;
}
public void setList ( List< T> list) {
this . list = list;
}
public int getTotalPage ( ) {
return totalPage;
}
public void setTotalPage ( int totalPage) {
this . totalPage = totalPage;
}
public int getSize ( ) {
return size;
}
public void setSize ( int size) {
this . size = size;
}
public int getTotalCiunt ( ) {
return totalCiunt;
}
public void setTotalCiunt ( int totalCiunt) {
this . totalCiunt = totalCiunt;
}
public int getCurrentPage ( ) {
return currentPage;
}
public void setCurrentPage ( int currentPage) {
this . currentPage = currentPage;
}
}
dao
List< User> findUser ( @Param ( "start" ) int start, @Param ( "username" ) String username) ;
service
@Override
public PageInfo< User> findUser ( int currentPage, String username) {
PageInfo< User> pageInfo = new PageInfo < > ( ) ;
pageInfo. setSize ( 5 ) ;
int tc = userDao. getTotalCount ( ) ;
pageInfo. setTotalPage ( tc) ;
int tp = ( int ) Math. ceil ( tc / 5.0 ) ;
pageInfo. setTotalPage ( tp) ;
if ( currentPage < 1 ) {
pageInfo. setCurrentPage ( 1 ) ;
} else if ( currentPage > tp) {
pageInfo. setCurrentPage ( tp) ;
} else {
pageInfo. setCurrentPage ( currentPage) ;
}
int start = ( pageInfo. getCurrentPage ( ) - 1 ) * 5 ;
List< User> userList = userDao. findUser ( start, username) ;
pageInfo. setList ( userList) ;
return pageInfo;
}
mapper
< select id= "findUser" resultType= "user" >
select * from tb_user where username like concat ( '%' , #{ username} , '%' ) limit #{ start} , 5
< / select>
jsp
< form action= "${pageContext.request.contextPath}/user/findUser.do"
method= "post" >
< div class = "col-md-4 data1" >
< input type= "text" class = "form-control" name= "username"
placeholder= "username" value= "" >
< / div>
< button type= "submit" class = "btn bg-maroon" > 搜索< / button>
< / form>