mybatis如何从前端传入值
1.在mybatis的映射文件中,进行实体类的传参
insert into user values(#{id},#{username},#{password})
在前端接口处写上实体类的形参
void addUser(User user);
注意此时用的是实体类接参,所以#{}里的是实体类的属性名,必须和实体类的属性名一一对应
2.用注解的方式进行传参
通过导入的mybatis包,里的@Param注解来进行操作
org.mybatis mybatis 3.5.6
首先是dao里向映射文件传入形参的时候:
void update(User user,@Param( "id" ) int id);
然后是映射文件的写法
update user set username='haihai' where id=#{id}
这时候,就把名字为id的形参传入了后端,后端#{}里的内容,也是注解的时候写的名字
3.当只有一个参数的时候
当只有一个参数的时候,可以直接写参数类型,然后进行传值:
可以看到,此时我是要查询id为特定值的sql语句,只需要一个int类型的值,那么我的parameterType就为Integer就可以了
分页的另外一种写法
首先需要代入依赖包
com.github.pagehelper pagehelper 5.2.0
在导入依赖包后,在对mybatis的配置文件进行添加导入:
就可以使用该依赖包里的方法,进行页数的封装
PageHelper.startPage(int pageNum, int pageSize);
首先,使用pagehelper里的startPage方法,第一个参数为当前页,第二个参数为页数的大小,来进行页数的封装,然后,吧我们从数据库获取到的实体类list集合封装进pageinfo
Listselect = userService.select(); PageInfo userPageInfo = new PageInfo<>( select );
此时的userPageInfo就是一个拥有了页数,集合等属性的对象,吧该对象传到前端就可以实现分页的效果.
PageInfo<>里的属性:
private int pageNum; //当前页数
private int pageSize; //页数大小
private int size;
private long startRow;
private long endRow;
private int pages;
private int prePage; //上一页
private int nextPage; //下一页
private boolean isFirstPage; //是否是第一页
private boolean isLastPage; //是否是最后一页
private boolean hasPreviousPage; //是否有上一页
private boolean hasNextPage; //是否有下一页
private int navigatePages;
private int[] navigatepageNums;
private int navigateFirstPage;
private int navigateLastPage;



