从无到有,手把手教你用Maven怒草一个SpringBoot…
2020-05-02 16:02:27来源:博客园 阅读 ()
从无到有,手把手教你用Maven怒草一个SpringBoot项目出来
1、使用Navicat 新建一个数据库
2、新建一个数据表
CREATE TABLE t_user( id int(6) PRIMARY KEY auto_increment, name VARCHAR(40), age int(3), bir TIMESTAMP )
3、新建一个project,file->new->project
选择maven,webapp
填写项目组织和项目名
下面是你配置好的maven仓库
下一步不用管,finish
4、修改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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.jackson</groupId> <artifactId>vue_cli</artifactId> <version>1.0-SNAPSHOT</version> <packaging>war</packaging> <name>vue_cli Maven Webapp</name> <url>http://www.example.com</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> <dependencies> </dependencies> <build> </build> </project> 5、导入项目依赖 <dependencies> <!--SpringBoot的web依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--引入mybatis--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.2</version> </dependency> <!--lombok--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.12</version> <scope>provided</scope> </dependency> <!--数据库驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.13</version> </dependency> <!--druid驱动--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.13</version> </dependency> </dependencies>
6、修改项目结构
在main新建java文件夹,刷新maven项目
干掉整个webapp
新建springboot配置文件
java文件夹中构建主入口类
手撸启动类代码
package com.jackson; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /** * @Author Jackson * @Date 2020-05-02 19:41 * @Description **/ @SpringBootApplication public class VuecliApplication { public static void main(String[] args) { SpringApplication.run(VuecliApplication.class, args); } }
手撸配置文件
spring.application.name=vue server.port=8989 server.servlet.context-path=/vue spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.hikari.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/vue?characterEncoding=UTF-8 spring.datasource.username=root spring.datasource.password=梵蒂冈 mybatis.mapper-locations=classpath:com/jackson/mapper/*.xml mybatis.type-aliases-package=com.jackson.entity comtroll logging.level.root=info logging.level.com.jackson.dao=debug
新建四个包结构
resources新建mapper配置文佳的位置
7、新建实体类
package com.jackson.entity; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.ToString; import lombok.experimental.Accessors; import java.util.Date; /** * @Author Jackson * @Date 2020-05-02 19:58 * @Description **/ @Data @AllArgsConstructor @NoArgsConstructor @ToString @Accessors(chain=true) public class User { private String id; private String name; private Integer age; @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GTM+8") private Date bir; }
8、新建dao接口
package com.jackson.dao; import com.jackson.entity.User; import org.apache.ibatis.annotations.Mapper; import java.util.List; @Mapper public interface UserDao { void save(User user); void update(User user); void delete(User user); List<User> findAll(); User findById(String id); }
9、新建一个mapper模板
用新建的模板新建一个mapper文件,手撸mapper文件,添加的时候key自动生成
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="com.jackson.dao.UserDao"> <insert id="save" parameterType="com.jackson.entity.User" useGeneratedKeys="true" keyProperty="id"> insert into t_user values (#{id}, #{name}, #{age}, #{bir}) </insert> <update id="update" parameterType="com.jackson.entity.User"> update t_user set name = #{name}, age = #{age}, bir = #{bir} where id = #{id} </update> <select id="findAll" resultType="com.jackson.entity.User"> select id, name, age, bir from t_user </select> <delete id="delete" parameterType="String"> delete from t_user where id = #{id} </delete> <select id="findById" parameterType="String" resultType="com.jackson.entity.User"> select id, name, age, bir from t_user where id = #{id} </select> </mapper>
10、新建service接口
package com.jackson.service; import com.jackson.entity.User; import java.util.List; public interface UserService { void save(User user); void update(User user); void delete(String id); List<User> findAll(); User findById(String id); }
11、接口的实现
package com.jackson.service; import com.jackson.dao.UserDao; import com.jackson.entity.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; /** * @Author Jackson * @Date 2020-05-02 20:37 * @Description **/ @Service @Transactional public class UserServiceImpl implements UserService { @Autowired private UserDao userDao; @Override public void save(User user) { userDao.save(user); } @Override public void update(User user) { userDao.update(user); } @Override public void delete(String id) { userDao.delete(id); } @Override public List<User> findAll() { return userDao.findAll(); } @Override public User findById(String id) { return userDao.findById(id); } }
12、手撸controller
package com.jackson.controller; import com.jackson.entity.User; import com.jackson.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @Author Jackson * @Date 2020-05-02 20:45 * @Description **/ @RestController @CrossOrigin @RequestMapping("user") public class UserController { @Autowired private UserService userService; /** * 查询所有数据 * @param page * @param rows * @return */ @GetMapping("findAll") public Map<String, Object> findAll(Integer page, Integer rows) { HashMap<String, Object> map = new HashMap<>(); List<User> results = userService.findAll(); map.put("total", 10); map.put("totalPage", 1); map.put("page", page); map.put("results", results); return map; } /** * 添加用户 * @param user * @return */ @PostMapping("add") public Map<String, Object> add(@RequestBody User user) { HashMap<String, Object> map = new HashMap<>(); try { userService.save(user); map.put("success", true); map.put("msg", "添加用户信息成功"); } catch (Exception e) { e.printStackTrace(); map.put("success", false); map.put("msg", "添加用户失败:" + e.getMessage()); } return map; } /** * 删除用户 * @param id * @return */ @GetMapping("delete") public Map<String, Object> delete(String id) { HashMap<String, Object> map = new HashMap<>(); try { userService.delete(id); map.put("success", true); map.put("msg", "删除用户信息成功"); } catch (Exception e) { e.printStackTrace(); map.put("success", false); map.put("msg", "删除用户失败:" + e.getMessage()); } return map; } /** * 查询一条信息 * @param id * @return */ @GetMapping("findOne") public User findOne(String id) { return userService.findById(id); } /** * 修改用户 * @param user * @return */ @PostMapping("update") public Map<String, Object> update(@RequestBody User user) { HashMap<String, Object> map = new HashMap<>(); try { userService.update(user); map.put("success", true); map.put("msg", "修改用户信息成功"); } catch (Exception e) { e.printStackTrace(); map.put("success", false); map.put("msg", "修改用户失败:" + e.getMessage()); } return map; } }
引用:哔哩哔哩,编程不良人up主
原文链接:https://www.cnblogs.com/blogs-jch/p/12820190.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 分布式锁没那么难,手把手教你实现 Redis 分布锁!|保姆级教 2020-06-08
- 从无到有Springboot整合Spring-data-jpa实现简单应用 2020-05-22
- 手把手教你女朋友创建一个Springboot外置Tomcat项目 2020-05-02
- 教你用纯 Java 实现一个网页版的 Xshell(附源码) 2020-03-16
- (转)手把手的SpringBoot教程,SpringBoot创建web项目(五 2020-03-09
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash