SpringBoot實(shí)現(xiàn)簡(jiǎn)單的增刪改查以及條件分頁(yè)

  • 條件

  • 使用Spring boot、mybatis恋沃、mysql實(shí)現(xiàn)以下功能

  1. 用戶列表
  2. 用戶增加
  3. 信息修改
  4. 信息查看
  5. 用戶搜索
  6. 分頁(yè)

    ps: 頁(yè)面引擎使用Spring boot推薦的thymeleaf引擎

  • 效果圖如下

TIM圖片20190523231857.png
  • 步驟

  1. 使用IDEA的Spring Initializr構(gòu)建
  2. 模板選擇web、Thymeleaf肛搬、MyBatis岸啡、MySQL(以上步驟都不懂的自行百度)
  3. 在src下創(chuàng)建以下包名,目錄如下:

    src

    main

    java

    com.xxx.xxx

    controller

    mapper

    pojo

    tools

    resources

    templates

  4. 修改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
    
  5. 在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>
    
  6. 在pojo里添加實(shí)體類(lèi)
    public class Users {
        private int id;
        private String mobName;
        private String userName;
        ...
    }
    
  7. 在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);
    
    }
    
  8. 在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;
    }
}
  1. 添加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";
    }
    
    ...
}
  1. 在templates添加.html頁(yè)面
  • 具體代碼請(qǐng)看

源碼

  • PageHelper詳解

分頁(yè)工具地址

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è)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末俭驮,一起剝皮案震驚了整個(gè)濱河市回溺,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌混萝,老刑警劉巖遗遵,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異逸嘀,居然都是意外死亡车要,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)崭倘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)翼岁,“玉大人类垫,你說(shuō)我怎么就攤上這事±牌拢” “怎么了悉患?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)榆俺。 經(jīng)常有香客問(wèn)我售躁,道長(zhǎng),這世上最難降的妖魔是什么茴晋? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任陪捷,我火速辦了婚禮,結(jié)果婚禮上晃跺,老公的妹妹穿的比我還像新娘揩局。我一直安慰自己,他們只是感情好掀虎,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布凌盯。 她就那樣靜靜地躺著,像睡著了一般烹玉。 火紅的嫁衣襯著肌膚如雪驰怎。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,598評(píng)論 1 305
  • 那天二打,我揣著相機(jī)與錄音县忌,去河邊找鬼。 笑死继效,一個(gè)胖子當(dāng)著我的面吹牛症杏,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播瑞信,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼厉颤,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了凡简?” 一聲冷哼從身側(cè)響起逼友,我...
    開(kāi)封第一講書(shū)人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎秤涩,沒(méi)想到半個(gè)月后帜乞,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡筐眷,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年黎烈,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡怨喘,死狀恐怖津畸,靈堂內(nèi)的尸體忽然破棺而出振定,到底是詐尸還是另有隱情必怜,我是刑警寧澤,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布后频,位于F島的核電站梳庆,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏卑惜。R本人自食惡果不足惜膏执,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望露久。 院中可真熱鬧更米,春花似錦、人聲如沸毫痕。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)消请。三九已至栏笆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間臊泰,已是汗流浹背蛉加。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留缸逃,地道東北人针饥。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像需频,于是被迫代替她去往敵國(guó)和親丁眼。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容