最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MyBatis實現(xiàn)留言板的示例代碼

 更新時間:2024年08月14日 08:31:49   作者:Script_7  
本文主要介紹了MyBatis實現(xiàn)留言板的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

效果預覽

界面長這樣,每次提交之后,會在下面生成一條記錄,刷新頁面或者關(guān)掉后重新打開,這些記錄仍然存在

思路

我們需要在數(shù)據(jù)庫中保存一條一條的消息,那就需要一個類

@Data
public class MessageInfo {
    private Integer id;
    private String from; //誰留言
    private String to; //留言對誰說
    private String message; //留言的內(nèi)容
    private Integer deleteFlag; //刪除的標志
    private Date createTime;
    private Date updateTime;
}

主體要實現(xiàn)兩個功能:發(fā)布留言、查看所有留言

先來寫 Mapper 接口

由于要實現(xiàn)持久化存儲,所以發(fā)布留言就是將留言放進數(shù)據(jù)庫的表中,即 insert 操作;而對于查看留言,其實就是查詢表中所有留言

@Mapper
public interface MessageInfoMapper {
    //發(fā)布留言:把留言放進數(shù)據(jù)庫
    @Insert("insert into message_info (`from`,`to`,`message`) values (#{from},#{to},#{message})")
    public Integer insertMessage(MessageInfo messageInfo);

    @Select("select from,to,message from message_info where delete_flag = 0")
    public List<MessageInfo> selectAllList();
}

接下來寫 Service,調(diào)用接口那兩個方法就 ok 了:

@Service
public class MessageService {
    @Autowired
    private MessageInfoMapper messageInfoMapper;

    //發(fā)布留言
    public Integer publishMessage(MessageInfo messageInfo) {
        return messageInfoMapper.insertMessage(messageInfo);
    }

    //查詢留言
    public List<MessageInfo> getMessageList() {
        return messageInfoMapper.selectAllList();
    }
}

再來寫 Controller 實現(xiàn)接口中的方法

@RestController
@RequestMapping("MessageBoard")
public class MessageController {
    private List<MessageInfo> list = new ArrayList<>();

    @RequestMapping("/getList")
    public List<MessageInfo> getList() {
        return list;
    }

    //發(fā)布留言,就是把留言信息加入 list
    @RequestMapping("/publish")
    public boolean publish(MessageInfo messageInfo) {
        System.out.println("接收參數(shù)"); //打日志
        //檢查留言是否為空
        if(!StringUtils.hasLength(messageInfo.getTo())
                || !StringUtils.hasLength(messageInfo.getFrom())
                || !StringUtils.hasLength(messageInfo.getMessage()))
            return false;
        //不為空就加入 list
        list.add(messageInfo);
        return true;
    }
}

最后是前端部分的代碼,這部分直接粘貼下面的代碼就 ok 了,如果要改 UI 的話,可以到 BootStrap 上面拿現(xiàn)成的模板改一下

網(wǎng)址:BootStrap

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>留言板</title>
  <style>
    .container {
      width: 350px;
      height: 300px;
      margin: 0 auto;
      /* border: 1px black solid; */
      text-align: center;
    }

    .grey {
      color: grey;
    }

    .container .row {
      width: 350px;
      height: 40px;

      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    .container .row input {
      width: 260px;
      height: 30px;
    }

    #submit {
      width: 350px;
      height: 40px;
      background-color: mediumpurple;
      color: white;
      border: none;
      margin: 10px;
      border-radius: 5px;
      font-size: 20px;
    }
  </style>
</head>

<body>
<div class="container">
  <h1>留言板</h1>
  <p class="grey">輸入后點擊提交, 會將信息顯示下方空白處</p>
  <div class="row">
    <span>誰:</span> <input type="text" name="" id="from">
  </div>
  <div class="row">
    <span>對誰:</span> <input type="text" name="" id="to">
  </div>
  <div class="row">
    <span>說什么:</span> <input type="text" name="" id="message">
  </div>
  <input type="button" value="提交" id="submit" onclick="submit()">
  <!-- <div>A 對 B 說: hello</div> -->
</div>

  <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.4/jquery.min.js"></script>
  <script>
  $.ajax({
    url: "/MessageBoard/getList",
    type: "get",
    success: function (messageInfos) {
        var finalHtml = "";
        for(var message of messageInfos) {
          finalHtml += '<div>' + message.from + '對' + message.to + '說:' + message.message + '</div>';
        }
        $(".container").append(finalHtml);
    }
  });
  submit();
  function submit(){
    console.log("發(fā)布留言");
    //1. 獲取留言的內(nèi)容
    var from = $('#from').val();
    var to = $('#to').val();
    var message = $('#message').val();
    if (from== '' || to == '' || message == '') {
      return;
    }

    //發(fā)送ajax請求
    $.ajax({
      url: "/MessageBoard/publish",
      type: "post",
      data: {
        from: $('#from').val(),
        to: $('#to').val(),
        message: $('#message').val()
      },
      success: function(result) {
        if(result) {
          //2. 構(gòu)造節(jié)點
          var divE = "<div>"+from +"對" + to + "說:" + message + "</div>";
          //3. 把節(jié)點添加到頁面上
          $(".container").append(divE);
          //4. 清空輸入框的值
          $('#from').val("");
          $('#to').val("");
          $('#message').val("");
        } else {
          alert("輸入不合法,請重新輸入");
        }
      }
    });
  }

  </script>
</body>
</html>

到此這篇關(guān)于MyBatis實現(xiàn)留言板的示例代碼的文章就介紹到這了,更多相關(guān)MyBatis 留言板內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • hadoop實現(xiàn)grep示例分享

    hadoop實現(xiàn)grep示例分享

    這篇文章主要介紹了hadoop實現(xiàn)grep示例,可從文檔中提取包含某些字符串的行,需要的朋友可以參考下
    2014-03-03
  • JAVA 數(shù)據(jù)結(jié)構(gòu)之Queue處理實例代碼

    JAVA 數(shù)據(jù)結(jié)構(gòu)之Queue處理實例代碼

    這篇文章主要介紹了JAVA 數(shù)據(jù)結(jié)構(gòu)之Queue處理實例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • spring boot實戰(zhàn)教程之shiro session過期時間詳解

    spring boot實戰(zhàn)教程之shiro session過期時間詳解

    這篇文章主要給大家介紹了關(guān)于spring boot實戰(zhàn)教程之shiro session過期時間的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-10-10
  • SpringBatch從入門到精通之StepScope作用域和用法詳解

    SpringBatch從入門到精通之StepScope作用域和用法詳解

    這篇文章主要介紹了SpringBatch從入門到精通之StepScope作用域和用法詳解,主要包括IOC容器中幾種bean的作用范圍以及可能遇到的問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • SpringBoot日志配置全過程

    SpringBoot日志配置全過程

    Spring Boot默認使用Logback作為日志框架,可以配置多種日志系統(tǒng),包括JavaUtilLogging、CommonsLogging、Log4J及SLF4J,默認日志輸出在控制臺,可以通過配置文件將日志保存到文件中,日志級別包括TRACE、DEBUG、INFO、WARN、ERROR和FATAL
    2025-01-01
  • spring boot里增加表單驗證hibernate-validator并在freemarker模板里顯示錯誤信息(推薦)

    spring boot里增加表單驗證hibernate-validator并在freemarker模板里顯示錯誤信息(推

    這篇文章主要介紹了spring boot里增加表單驗證hibernate-validator并在freemarker模板里顯示錯誤信息的相關(guān)資料,需要的朋友可以參考下
    2018-01-01
  • SpringBoot和Vue2項目配置https協(xié)議過程

    SpringBoot和Vue2項目配置https協(xié)議過程

    本文詳細介紹了SpringBoot項目和Vue2項目的部署流程及SSL證書配置,對于SpringBoot項目,需將.pfx文件放入resources目錄并配置server,然后打包部署,Vue2項目中,涉及檢查nginx的SSL模塊、編譯新的nginx文件
    2024-10-10
  • 在MyBatisPlus中使用@TableField完成字段自動填充的操作

    在MyBatisPlus中使用@TableField完成字段自動填充的操作

    這篇文章主要介紹了在MyBatisPlus中使用@TableField完成字段自動填充的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • SpringBoot中給指定接口加上權(quán)限校驗的實現(xiàn)

    SpringBoot中給指定接口加上權(quán)限校驗的實現(xiàn)

    本文介紹了使用SpringSecurity為接口添加權(quán)限校驗,以防止外部訪問并確保安全性,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-12-12
  • 如何使用Java爬蟲批量爬取圖片

    如何使用Java爬蟲批量爬取圖片

    這篇文章主要介紹了如何使用Java爬蟲批量爬取圖片,對于爬蟲的入門來說,圖片相對來說是比較容易獲取的,因為大部分圖片都不是敏感數(shù)據(jù),所以不會遇到什么反爬措施,對于入門爬蟲來說是比較合適的,需要的朋友可以參考下
    2023-04-04

最新評論

东乡县| 泰安市| 衡阳市| 石景山区| 板桥市| 裕民县| 胶州市| 平江县| 内江市| 昌都县| 济阳县| 肥东县| 伊春市| 满洲里市| 奉新县| 桦川县| 灵宝市| 宜阳县| 昌乐县| 承德市| 内江市| 泰兴市| 余干县| 山丹县| 滕州市| 北京市| 云和县| 绥阳县| 张家口市| 安顺市| 栾城县| 滨州市| 准格尔旗| 桃园市| 汾阳市| 丰顺县| 滁州市| 肥乡县| 化德县| 海伦市| 石城县|