spring boot一个简单用户管理DEMO
概述
该Demo旨在部署一个简单spring boot工程,包含数据编辑和查看功能
POM配置
<?xml version="1.0" encoding="UTF-8"?>
<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.roncoo.education</groupId>
<artifactId>spring-boot-demo-15-1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging> <name>spring-boot-demo-15-1</name>
<description>Demo project for Spring Boot</description> <parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.0.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.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
<version>2.1.4</version>
</dependency> <!-- 数据库 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency> <dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.1.1</version>
</dependency> <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies> <build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build> </project>
属性配置
server.port=8080 spring.datasource.url=jdbc:postgresql://127.0.0.1:5432/postgis_24_sample?currentSchema=lilei_1
spring.datasource.username=postgres
spring.datasource.password=lilei
spring.datasource.driver-class-name=org.postgresql.Driver spring.jpa.hibernate.ddl-auto= update spring.jpa.show-sql=true
工程结构图

核心代码
dao层
package com.lilei.spring_boot_db.boot.dao;
import java.util.List;
import com.lilei.spring_boot_db.boot.bean.User;
public interface UserDao {
public User getUser(int id);
public int updateUser(User u);
public int insertUser(User u);
public int deleteUser(int id);
public List<User> queryUser(int pageSize,int pageNo);
}
dao实现层
package com.lilei.spring_boot_db.boot.dao.impl; import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository; import com.lilei.spring_boot_db.boot.bean.User;
import com.lilei.spring_boot_db.boot.dao.UserDao;
@Repository
public class UserDaoImpl implements UserDao { @Autowired
protected JdbcTemplate jdbc; public User getUser(int id) { String sql = "select name,create_date from user where id=?"; List<Map<String,Object>> list = jdbc.queryForList(sql, id); if (list.size()>0){
String name = list.get(0).get("name").toString();
Date createDate = (Date) list.get(0).get("create_date");
User u = new User(id,name);
u.setCreateTime(createDate);
return u;
} return null;
} public int updateUser(User u) { String sql = "update lilei_1.user set name=?,create_date=? where id=?"; int result = jdbc.update(sql, u.getName(),u.getCreateTime(),u.getId()); return result;
} public int insertUser(User u) {
String sql = "insert into lilei_1.user(id,name,create_date) values (?,?,?)"; int result = jdbc.update(sql, u.getId(),u.getName(),u.getCreateTime()); return result;
} public int deleteUser(int id) { String sql = "delete from lilei_1.user where id=?"; int result = jdbc.update(sql, id); return result; } public List<User> queryUser(int pageSize, int pageNo) { String sql = "select id,name,create_date from lilei_1.user limit ? offset ?"; List<Map<String,Object>> list = jdbc.queryForList(sql, pageSize,((pageNo-1) * pageSize)); List<User> us = new ArrayList<User>(); for(Map<String,Object> m:list){
int id = Integer.parseInt(m.get("id").toString());
String name = m.get("name").toString();
Date createDate = (Date) m.get("create_date");
User u = new User(id,name);
u.setCreateTime(createDate);
us.add(u);
} return us;
} }
控制器
package com.lilei.spring_boot_db.boot.controller; import java.util.Date;
import java.util.List; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import com.lilei.spring_boot_db.boot.bean.User;
import com.lilei.spring_boot_db.boot.dao.UserDao; @RestController
@RequestMapping("/user")
public class UserService { @Autowired
protected UserDao userDao; @RequestMapping("insert")
public String insertUser(String name, int id) { User u = new User(id, name); userDao.insertUser(u); return "success";
} @RequestMapping("delete")
public String deleteUser(int id) {
userDao.deleteUser(id);
return "success";
} @RequestMapping("update")
public String updateUser(String name,int id) {
User u = new User(id,name);
u.setCreateTime(new Date());
userDao.updateUser(u);
return "success";
} @RequestMapping("query")
public List<User> query(int page_size, int page_no) {
return userDao.queryUser(page_size, page_no);
}
}
spring boot一个简单用户管理DEMO的更多相关文章
- EasyUI+MVC+EF简单用户管理Demo(问题及解决)
写在前面 iframe-src EntityFramework版本 connectionStrings View.Action.页面跳转 EasyUI中DataGrid绑定 新增.修改和删除数据 效果 ...
- Spring Boot超详细用户管理项目(零)——开发前准备
开始前的软件准备:(编写中:未完成) 使用软件介绍: Java版本:Java SE 11(LTS) 开发工具:IDEA(2020.3版本) Linux系统: 数据库: Java 版本:Java SE ...
- Spring Boot项目简单上手+swagger配置+项目发布(可能是史上最详细的)
Spring Boot项目简单上手+swagger配置 1.项目实践 项目结构图 项目整体分为四部分:1.source code 2.sql-mapper 3.application.properti ...
- vue入门:用户管理demo
该demo纯前端实现 使用到vue技术点: 1.在该demo中使用到的vue指令:{{}}. v-if. v-model. @click v-for 2.在该demo中使用到的事件修饰符: .prev ...
- 基于vue.js的简单用户管理
功能描述:添加.修改.搜索过滤 效果图: <!DOCTYPE html> <html lang="en"> <head> <title&g ...
- C#中缓存的使用 ajax请求基于restFul的WebApi(post、get、delete、put) 让 .NET 更方便的导入导出 Excel .net core api +swagger(一个简单的入门demo 使用codefirst+mysql) C# 位运算详解 c# 交错数组 c# 数组协变 C# 添加Excel表单控件(Form Controls) C#串口通信程序
C#中缓存的使用 缓存的概念及优缺点在这里就不多做介绍,主要介绍一下使用的方法. 1.在ASP.NET中页面缓存的使用方法简单,只需要在aspx页的顶部加上一句声明即可: <%@ Outp ...
- Spring boot 注解简单备忘
Spring boot 注解简单备忘 1.定义注解 package com.space.aspect.anno;import java.lang.annotation.*; /** * 定义系统日志注 ...
- Spring Boot Mybatis简单使用
Spring Boot Mybatis简单使用 步骤说明 build.gradle:依赖添加 application.properties:配置添加 代码编写 测试 build.gradle:依赖添加 ...
- Spring Boot超简单的测试类demo
1 概述 Spring Boot结合Junit的简单测试类demo,流程是先引入依赖,接着编写测试类测试运行即可. 2 依赖 <dependency> <groupId>org ...
随机推荐
- 学习如何看懂SQL Server执行计划——基本知识篇
一.基本概念 1.数据的读取 页(page)是SQL SERVER可以读写的最小I/O单位.即使只需访问一行,也要把整个页加载到缓存之中,再从缓存中读取数据.物理读取是从磁盘上读取,逻辑读取是从缓存中 ...
- HDU4278 Faulty Odometerd
开始以为是容斥原理,想着做一下,应该是可以用容斥解决的,有空再过来写一下.题解是进制转换,开始没想到,不过很好理解. 如在10进制里: 1254= (1*10^3 + 2*10^2 + 5* 10^ ...
- iptables使用实践
1.iptables 本质上是一组规则,报文从端口接收到之后,按照规则的顺序进行匹配,一旦匹配上则执行动作,后续就不再匹配. 2.为了体现出优先级,iptable分为4个表,5个链,如下: 优先级顺序 ...
- win10 uwp 右击浮出窗在点击位置
本文主要让MenuFlyout出现在我们右击位置. 我们一般使用的MenuFlyout写在前台,写在Button里面,但是可能我们的MenuFlyout显示的位置和我们想要的不一样. 通过使用后台写S ...
- VisualStudio 合并代码文件
如果有相同的类,一般可以使用 partial 让他写在多个文件,那么如何把多个文件合并?请看 MainWindow.xaml 和 MainWindow.xaml.cs 其中 代码文件被折叠,那么如何做 ...
- (七)php运算符
一:算数运算符 +(加).-(减).*(成)./(除) %(取模,求余的意思) <?php $a=7/3; echo $a; //2.3333333333333.因为float类型的最大精度为1 ...
- 【计算机网络】 一个小白的DNS学习笔记
参考书籍 <计算机网络-自顶向下> 作者 James F. Kurose DNS的作用 DNS是因特网的目录服务 DNS是因特网的目录服务,它提供了主机名到IP地址映射的查询服务 ...
- Servlet 笔记-Session 跟踪
HTTP 是一种"无状态"协议,这意味着每次客户端检索网页时,客户端打开一个单独的连接到 Web 服务器,服务器会自动不保留之前客户端请求的任何记录. 但是仍然有以下三种方式来维持 ...
- Java基础总结--面向对象1
---面向对象的概念---1.面向过程与面向对象的区别面向过程:是一种思维习惯,解决一个问题的时候靠的是一个个方法调用--核心是动作面向对象:是一种更接近生活中解决问题的思维习惯,解决特定的问题靠对象 ...
- JavaAPI 中 <E> 与 <T> 的含义
今天看集合的代码,发现在泛型的使用时的区别,Collection<E>.List<E>,而Iterator<T>,那么<E>和<T>含义有什 ...