1.创建discuss_post数据库设计表
2.把实体类写好,用来封装表里的数据,
3.开发dao
List<DiscussPost> selectDiscussPosts(int userId, int offset, int limit);//offset这一页起始行行号
limit每一页显示的一页显示的最多的数量
//Param给参数取别名 //如果只有一个参数并且在if里面使用,必须取别名 //查询帖子的行数 在Dao层申明这两个方法,接下来去实现这两个方法,给这mapper新建配置文件 int selectDiscussPostRows(@Param("userId") int userId);
在配置文件里面实现方法
<select id="selectDiscussPosts" resultType="DiscussPost">
id是声明的方法名 给这个方法写sql,这个方法返回的是集合,集合里面装的是DiscussPost,我们需要申明返回的类型,返回的类型不是java自带的,他默认不知道,所以要告诉他,他是一个集合,集合里面默认装的是DiscussPost,所以只需要声明DiscussPost这个类型就行,List不需要声明,他是java自带的能检测到,解析出含义
返回值的类型通过resultType进行声明
然后写查询的语句
这样写是字段 user_id 这样写是参数#{userId}
dao层就配置好了
4.开发service层
这里的方法做的事情和mapper差不多
声明一个业务方法,查询某一页的数据,返回的是一个集合
直接调用mapper实现
5.开发controller层
HomeController
增加一个处理请求的方法
申明这个方法,可以返回string,string指的是视图的名字,也可以返回model and view
这里用string,参数里面加model 因为我们要用model 携带数据给模板,最终返回的是模板的路径
中间写处理请求的逻辑43min
要把展现的结果discussPosts装到model里面,页面才能得到
给这个数据取个名字,值是集合
model.addAttribute("discussPosts",discussPosts);
然后就是处理模板
封装分页组件,用于以后其他地方复用
在entity下写个page用来封装分页的条件