欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring boot + mybatis + Vue.js + ElementUI 實現(xiàn)數(shù)據(jù)的增刪改查實例代碼(二)

 更新時間:2022年05月20日 10:49:05   作者:慕夢辰  
這篇文章主要介紹了Spring boot + mybatis + Vue.js + ElementUI 實現(xiàn)數(shù)據(jù)的增刪改查實例代碼(二),非常不錯,具有參考借鑒價值,需要的朋友可以參考下

在上篇文章給大家介紹了Spring boot + mybatis + Vue.js + ElementUI 實現(xiàn)數(shù)據(jù)的增刪改查實例代碼(一),接下來我們添加分頁相關(guān)的依賴,時間緊張,直接上代碼了,貼上我的pom文件

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelVersion>4.0.0</modelVersion>
 <groupId>com.imooc</groupId>
 <artifactId>demo</artifactId>
 <version>0.0.1-SNAPSHOT</version>
 <packaging>jar</packaging>
 <name>demo</name>
 <description>Demo project for Spring Boot</description>
 <parent>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-parent</artifactId>
 <version>1.4.3.RELEASE</version>
 <relativePath/> <!-- lookup parent from repository -->
 </parent>
 <properties>
 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
 <java.version>1.8</java.version>
 </properties>
 <dependencies>
 <dependency>
  <groupId>org.mybatis.spring.boot</groupId>
  <artifactId>mybatis-spring-boot-starter</artifactId>
  <version>1.1.1</version>
 </dependency>
 <dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
 </dependency>
 <dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <scope>runtime</scope>
 </dependency>
 <dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-test</artifactId>
  <scope>test</scope>
 </dependency>
 <dependency>
  <groupId>org.mybatis.spring.boot</groupId>
  <artifactId>mybatis-spring-boot-starter</artifactId>
  <version>1.1.1</version>
 </dependency>
 <dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-redis</artifactId>
 </dependency>
 <dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-activemq</artifactId>
 </dependency>
 <!--http://localhost:8080/health-->
 <dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-actuator</artifactId>
 </dependency>
 <dependency>
  <groupId>com.github.pagehelper</groupId>
  <artifactId>pagehelper</artifactId>
  <version>4.1.6</version>
 </dependency>
 </dependencies>
 <build>
 <plugins>
  <plugin>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-maven-plugin</artifactId>
  </plugin>
 </plugins>
 </build>
</project>

接下來是yml文件,主要加入了mybatis的配置,以及sql的打印

spring:
 datasource:
 name: test
 url: jdbc:mysql://localhost/imooc?useUnicode=true&characterEncoding=utf-8&useSSL=false
 username: root
 password: 123456
 driver-class-name: com.mysql.jdbc.Driver
mybatis:
 type-aliases-package: com.imooc.model
 mapper-locations: classpath:mybatis/mapper/*.xml
 check-config-location: true
 config-location: classpath:mybatis/mybatis-config.xml
logging:
 level:
 com.imooc.repository: debug
 com.imooc.service.impl: debug
 com.imooc.controller: debug
 com.imooc.activemq: debug

接下來是repositpry文件

@Repository
public interface UserRepository {
 List<User> findUsersByUsername(@Param("username") String username);
 int getCount();
 int saveUser(User user);
 int modifyUser(User user);
 int removeUser(@Param("userId") int userId);
}

service文件

@Service
public class UserServiceImpl implements UserService {
 @Autowired
 private UserRepository userRepository;
 @Override
 public Map<String, Object> getTableData(int pageNum, int pageSize, String username) {
 try {
  PageHelper.startPage(pageNum, pageSize);
  List<User> userList = userRepository.findUsersByUsername(username);
  int count = userRepository.getCount();
  Map<String, Object> tableData = new HashMap<>();
  tableData.put("list", userList);
  tableData.put("count", count);
  return tableData;
 } catch (Exception e) {
  e.printStackTrace();
 }
 return null;
 }
}
public interface UserService {
 Map<String, Object> getTableData(int pageNum, int pageSize, String username);
}

controller文件

@RestController
public class UserController {
 @Autowired
 private UserService userService;
 @GetMapping("getTableData")
 public Map<String, Object> getTableData(int pageNum, int pageSize, String username) {
 try {
  return userService.getTableData(pageNum, pageSize, username);
 } catch (Exception e) {
  e.printStackTrace();
 }
 return null;
 }
}

實體類

public class User {
 private Integer userId;
 private String username;
 private Byte sex;
 private Date createTime;
 public Integer getUserId() {
 return userId;
 }
 public void setUserId(Integer userId) {
 this.userId = userId;
 }
 public String getUsername() {
 return username;
 }
 public void setUsername(String username) {
 this.username = username;
 }
 public Byte getSex() {
 return sex;
 }
 public void setSex(Byte sex) {
 this.sex = sex;
 }
 public Date getCreateTime() {
 return createTime;
 }
 public void setCreateTime(Date createTime) {
 this.createTime = createTime;
 }
}

sql

CREATE TABLE `t_user` (
 `user_id` int(11) NOT NULL AUTO_INCREMENT,
 `username` varchar(32) DEFAULT NULL,
 `sex` tinyint(4) DEFAULT NULL,
 `create_time` datetime DEFAULT NULL,
 PRIMARY KEY (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=10003 DEFAULT CHARSET=utf8

在static目錄下新建 index.html文件

<!DOCTYPE html>
<html lang="ZH">
<head>
 <meta charset="UTF-8">
 <title>spring boot + mybatis + vue + elementui</title>
 <link rel="stylesheet"  rel="external nofollow" >
 <script src="http://cdn.bootcss.com/vue/2.1.8/vue.min.js"></script>
 <script src="http://cdn.bootcss.com/element-ui/1.1.2/index.js"></script>
 <script src="http://cdn.bootcss.com/vue-resource/1.0.3/vue-resource.min.js"></script>
</head>
<body>
<div id="vm">
 <el-row :gutter="3" style="margin: 10px 0;">
 <el-col :span="5">
  <el-input placeholder="輸入用戶名稱查詢" v-model="username" icon="search" @change="changeUsername">
  </el-input>
 </el-col>
 </el-row>
 <el-table border fit :data="tableData" highlight-current-row style="width: 100%;font-size: 12px;">
 <el-table-column type="index" width="50"></el-table-column>
 <el-table-column prop="username" label="用戶名稱"></el-table-column>
 <el-table-column prop="sex" label="性別" :formatter="formatSex"></el-table-column>
 <el-table-column prop="createTime.time" label="創(chuàng)建時間" sortable :formatter="formatCreateDate"></el-table-column>
 </el-table>
 <el-col class="toolbar" style="padding:10px;">
 <el-pagination @current-change="findAll" :current-page="currentPage" :page-size="10"
   layout="total, prev, pager, next, jumper" :total="total" style="float:right"></el-pagination>
 </el-col>
</div>
</body>
<script>
 Vue.http.options.emulateJSON = true;
 Vue.http.options.emulateHTTP = true;
 var vm = new Vue({
 el: '#vm',
 data: {
  tableData: [],
  currentPage: 1,
  total: 10,
  listLoading: false,
  username: null
 },
 mounted: function () {
  this.findAll();
 },
 methods: {
  findAll: function (currentPage) {
  this.listLoading = true;
  if (!isNaN(currentPage)) {
   this.currentPage = currentPage;
  }
  var params_ = {
   pageNum: this.currentPage,
   pageSize: 10
  };
  if (this.username && this.username.trim() != "") {
   params_['username'] = this.username;
  }
  this.$http.get("/getTableData", {
   params: params_
  }).then(function (response) {
   console.log(response.data);
   this.total = response.data.count;
   this.tableData = [];
   for (var key in response.data.list) {
   this.$set(this.tableData, key, response.data.list[key]);
   }
  }).catch(function (response) {
   console.error(response);
  });
  this.listLoading = false;
  },
  formatDate: function getNowFormatDate(time) {
  var date = new Date(time);
  var seperator1 = "-";
  var seperator2 = ":";
  var month = date.getMonth() + 1;
  var strDate = date.getDate();
  if (month >= 1 && month <= 9) {
   month = "0" + month;
  }
  if (strDate >= 0 && strDate <= 9) {
   strDate = "0" + strDate;
  }
  var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
   + " " + date.getHours() + seperator2 + date.getMinutes()
   + seperator2 + date.getSeconds();
  return currentdate;
  },
  formatCreateDate: function (row, column) {
  if (row.createTime != null) {
   return this.formatDate(row.createTime);
  } else {
   return '';
  }
  },
  formatSex: function (row, column) {
  if (row.sex != null) {
   return row.sex == 1 ? '男' : '女';
  }
  },
  changeUsername: function () {
  this.findAll(1);
  }
 }
 });
</script>
</html>

啟動文件

@EnableAutoConfiguration
@Configuration
@ComponentScan
@MapperScan("com.imooc.repository")
@SpringBootApplication
public class DemoApplication {
 public static void main(String[] args) {
 SpringApplication.run(DemoApplication.class, args);
 }
}

啟動項目,打開http://localhost:8080/index.html

推薦專題閱讀:

spring boot開發(fā)教程://www.dbjr.com.cn/Special/943.htm

mybatis教程://www.dbjr.com.cn/Special/774.htm

以上所述是小編給大家介紹的Spring boot + mybatis + Vue.js + ElementUI 實現(xiàn)數(shù)據(jù)的增刪改查實例代碼(二),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Java序列化機(jī)制詳解

    Java序列化機(jī)制詳解

    Java 序列化機(jī)制是一種將對象轉(zhuǎn)換為字節(jié)流的過程,以便在網(wǎng)絡(luò)上傳輸或保存到文件中,并能在需要時將字節(jié)流還原為對象,這一機(jī)制通過實現(xiàn) java.io.Serializable 接口來實現(xiàn),同時涉及到一些關(guān)鍵概念和注意事項,需要的朋友可以參考下
    2023-12-12
  • java線程池ThreadPoolExecutor實現(xiàn)原理詳解

    java線程池ThreadPoolExecutor實現(xiàn)原理詳解

    這篇文章主要介紹了java線程池ThreadPoolExecutor實現(xiàn)原理詳解,ThreadPoolExecutor是線程池實現(xiàn)類,會動態(tài)創(chuàng)建多個線程,并發(fā)執(zhí)行提交的多個任務(wù),需要的朋友可以參考下
    2023-12-12
  • 淺談Java編程之if-else的優(yōu)化技巧總結(jié)

    淺談Java編程之if-else的優(yōu)化技巧總結(jié)

    說實話,其實我很討厭在代碼里大量使用if-else,一是因為該類代碼執(zhí)行方式屬于面向過程的,二嘛,則是會顯得代碼過于冗余.這篇筆記,主要記錄一些自己在工作實踐當(dāng)中針對if-else的優(yōu)化心得,將會不定期地長期更新,需要的朋友可以參考下
    2021-06-06
  • 解決IDEA maven 項目修改代碼不生效,mvn clean、install后才生效

    解決IDEA maven 項目修改代碼不生效,mvn clean、install后才生效

    這篇文章主要介紹了解決IDEA maven 項目修改代碼不生效,mvn clean、install后才生效的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Mybatis源碼解析之事務(wù)管理

    Mybatis源碼解析之事務(wù)管理

    大家好,本篇文章主要講的是Mybatis源碼解析之事務(wù)管理,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Java常見異常及處理方式總結(jié)

    Java常見異常及處理方式總結(jié)

    今天給大家?guī)淼氖荍ava的相關(guān)知識,文章圍繞著Java異常展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Java中的匿名對象定義與用法實例分析

    Java中的匿名對象定義與用法實例分析

    這篇文章主要介紹了Java中的匿名對象定義與用法,結(jié)合實例形式分析了java匿名對象的概念、原理、定義與相關(guān)使用注意事項,需要的朋友可以參考下
    2019-08-08
  • 在win10系統(tǒng)下,如何配置Spring Cloud alibaba Seata以及出現(xiàn)問題時怎么解決

    在win10系統(tǒng)下,如何配置Spring Cloud alibaba Seata以及出現(xiàn)問題時怎么解決

    今天教大家如何在win10系統(tǒng)下,配置Spring Cloud alibaba Seata以及出現(xiàn)問題時怎么解決,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • java實現(xiàn)策略模式使用示例

    java實現(xiàn)策略模式使用示例

    在使用圖像處理軟件處理圖片后,需要選擇一種格式進(jìn)行保存。然而各種格式在底層實現(xiàn)的算法并不相同,這剛好適合策略模式。編寫程序,演示如何使用策略模式與簡單工廠模式組合進(jìn)行開發(fā)
    2014-02-02
  • MAC?在類路徑或引導(dǎo)類路徑中找不到程序包?java.lang問題

    MAC?在類路徑或引導(dǎo)類路徑中找不到程序包?java.lang問題

    這篇文章主要介紹了MAC?在類路徑或引導(dǎo)類路徑中找不到程序包?java.lang問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11

最新評論