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 ...
随机推荐
- 机器学习 数据挖掘 推荐系统机器学习-Random Forest算法简介
Random Forest是加州大学伯克利分校的Breiman Leo和Adele Cutler于2001年发表的论文中提到的新的机器学习算法,可以用来做分类,聚类,回归,和生存分析,这里只简单介绍该 ...
- css常见布局方式
CSS常见布局方式 以下总结一下CSS中常见的布局方式.本人才疏学浅,如有错误,请留言指出. 如需转载,请注明出处:CSS常见布局方式 目录: 使用BFC隐藏属性 float + margin abs ...
- Jmeter的安装和启动时出现unable to access jarfile apachejmeter.jar error value=1错误处理
Jmeter是纯Java开发的, 能够运行Java程序的系统一般都可以运行Jmeter, 如:Windows. Linux. mac等. 由于是由Java开发,所以自然需要jdk环境. Windows ...
- Ubuntu16.04 install jdk-8u144-linux-x64.tar.gz
打开终端: Ctrl+Alt+T 下载jdk: wget http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b ...
- yii2-swiftmailer入门
1. 安装 用yii 2.0框架,默认会有这个扩展 composer require --prefer-dist yiisoft/yii2-swiftmailer 修改composer.json,re ...
- Python自学笔记-with详解
with的作用: with关键字是一个替你管理实现上下文协议对象的东西,适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的"清理"操作,释放资源,比如文件使用 ...
- TreeViewItem实现整行选中 (两种用法)
用法一 <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation&quo ...
- DevOps之服务-监控工具
唠叨话 关于德语噢屁事的知识点,仅提供精华汇总,具体知识点细节,参考教程网址,如需帮助,请留言. <DevOps教程> <DevOps之服务-监控工具> 注:关于监控工具的具体 ...
- FastDFS分布式文件系统
FastDFS分布式文件系统 阅读目录 相关文章 1 分布式文件系统介绍 2 系统架构介绍 3 FastDFS性能方案 4 Linux基本命令操作 5 安装VirtualBox虚拟机并配置Ubuntu ...
- Druid连接池
Druid 连接池简介 Druid首先是一个数据库连接池.Druid是目前最好的数据库连接池,在功能.性能.扩展性方面,都超过其他数据库连接池,包括DBCP.C3P0.BoneCP.Proxool.J ...