-
條件
-
使用Spring boot、mybatis恋沃、mysql實(shí)現(xiàn)以下功能
-
用戶列表
-
用戶增加
-
信息修改
-
信息查看
-
用戶搜索
-
分頁(yè)
ps: 頁(yè)面引擎使用Spring boot推薦的thymeleaf引擎
-
效果圖如下
TIM圖片20190523231857.png
-
步驟
-
使用IDEA的Spring Initializr構(gòu)建
-
模板選擇web、Thymeleaf肛搬、MyBatis岸啡、MySQL(以上步驟都不懂的自行百度)
-
在src下創(chuàng)建以下包名,目錄如下:
src
main
java
com.xxx.xxx
controller
mapper
pojo
tools
resources
templates
-
修改resources目錄下的application.properties
#thymeleaf 配置 spring.thymeleaf.mode=HTML5 spring.thymeleaf.encoding=UTF-8 spring.thymeleaf.servlet.content-type=text/html #緩存設(shè)置為false, 這樣修改之后馬上生效抚恒,便于調(diào)試 spring.thymeleaf.cache=false #數(shù)據(jù)庫(kù)配置 spring.datasource.url=jdbc:mysql://127.0.0.1:3306/zx?useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true spring.datasource.username=root spring.datasource.password=root # Mysql8.0請(qǐng)改為com.mysql.cj.jdbc.Driver spring.datasource.driver-class-name=com.mysql.jdbc.Driver
-
在pom.xml的<dependencies>中加入以下配置
<!-- servlet依賴(lài). --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency> <!-- tomcat的支持.--> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> </dependency> <!-- pageHelper 用于分頁(yè) --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.1.6</version> </dependency>
-
在pojo里添加實(shí)體類(lèi)
public class Users { private int id; private String mobName; private String userName; ... }
-
在mapper里添加注解方式數(shù)據(jù)庫(kù)操作接口
@Mapper public interface UsersMapper { @Select("select * from users where CONCAT(mobName,userName,nickname,phone) like CONCAT('%',#{name},'%')") List<Users> getUsersList(String name); @Insert("insert into users (id,mobName,userName,nickname,phone,register) " + "values (#{id},#{mobName},#{userName},#{nickname},#{phone},#{register})") public int add(Users users); @Delete(" delete from users where id= #{id} ") public void del(int id); @Select("select * from users where id= #{id} ") public Users getUser(int id); @Update("update users set " + "mobName = #{mobName}," + "userName = #{userName}," + "nickname = #{nickname}," + "phone = #{phone}," + "register = #{register} " + "where id=#{id} ") public int update(Users users); }
-
在tools里添加分頁(yè)工具類(lèi)
import com.github.pagehelper.PageHelper;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.Properties;
@Configuration
public class PageHelperConfig {
@Bean
public PageHelper pageHelper() {
PageHelper pageHelper = new PageHelper();
Properties properties = new Properties();
properties.setProperty("offsetAsPageNum", "true");
properties.setProperty("rowBoundsWithCount", "true");
properties.setProperty("reasonable", "true");
pageHelper.setProperties(properties);
return pageHelper;
}
}
-
添加controller
@Controller
public class UserController {
@Resource
private UsersMapper usersMapper;
//添加頁(yè)面
@RequestMapping("add")
public String add() {
return "add";
}
//查找(用于查詢)
@RequestMapping("getUser")
public String getUser(int id, Model model) throws Exception {
Users Users = usersMapper.getUser(id);
model.addAttribute("Users", Users);
return "userShow";
}
...
}
-
在templates添加.html頁(yè)面
-
具體代碼請(qǐng)看
-
PageHelper詳解
PageHelper.startPage(int PageNum,int PageSize): 用來(lái)設(shè)置頁(yè)面的位置和展示的數(shù)據(jù)條目數(shù)咱台;
PageInfo<xxx> pageInfo = new PageInfo<xxx>(list); PageInfo用來(lái)封裝頁(yè)面信息,返回給前臺(tái)界面
pageHelper中一些常見(jiàn)的參數(shù):
PageInfo.list | 結(jié)果集 |
---|---|
PageInfo.pageNum | 當(dāng)前頁(yè)碼 |
PageInfo.pageSize | 當(dāng)前頁(yè)面顯示的數(shù)據(jù)條目 |
PageInfo.pages | 總頁(yè)數(shù) |
PageInfo.total | 數(shù)據(jù)的總條目數(shù) |
PageInfo.prePage | 上一頁(yè) |
PageInfo.nextPage | 下一頁(yè) |
PageInfo.isFirstPage | 是否為第一頁(yè) |
PageInfo.isLastPage | 是否為最后一頁(yè) |
PageInfo.hasPreviousPage | 是否有上一頁(yè) |
PageHelper.hasNextPage | 是否有下一頁(yè) |