springboot+mysql环境搭建01

1 篇文章 0 订阅

整体想法:因为想学习vuejs,前期准备一个能运行的springboot后台,具备增删改查功能,要做的东西是:在家里时间长了,总是记不住东西放哪了,所以我想做的是一个简单的“忘了”系统,有user表,可以记录用户的信息,有house表,可以记录用户家里不同的房间信息,有personal表可以记录具体到某个房间、某个位置,存了什么东西
目的:希望做完这些,我还没放弃能接着学习vuejs ^_^

DB:目前能想到的表关系
User表

CREATE TABLE `user` (
  `id` int NOT NULL AUTO_INCREMENT,
  `username` varchar(45) DEFAULT NULL,
  `password` varchar(45) DEFAULT NULL,
  `age` varchar(45) DEFAULT NULL,
  `sex` varchar(45) DEFAULT NULL,
  `tel` varchar(45) DEFAULT NULL,
  `picture` varchar(45) DEFAULT NULL,
  `createDate` varchar(45) DEFAULT NULL,
  `updateDate` varchar(45) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

house表

CREATE TABLE `house` (
  `id` int NOT NULL AUTO_INCREMENT,
  `user_id` int NOT NULL,
  `room` varchar(45) NOT NULL,
  `createDate` varchar(45) DEFAULT NULL,
  `updateDate` varchar(45) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `user_id_idx` (`user_id`),
  CONSTRAINT `user_id` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;


personal表

CREATE TABLE `personal` (
  `id` int NOT NULL AUTO_INCREMENT,
  `house_id` int NOT NULL,
  `name` varchar(45) NOT NULL,
  `location` varchar(45) NOT NULL,
  `picture` varchar(45) DEFAULT NULL,
  `createDate` varchar(45) DEFAULT NULL,
  `updateDate` varchar(45) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `house_id_idx` (`house_id`),
  CONSTRAINT `house_id` FOREIGN KEY (`house_id`) REFERENCES `house` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

1.File->New->Spring Starter Project
在这里插入图片描述

2.项目名、包名入力
在这里插入图片描述
3.如图选择
在这里插入图片描述
4.初始项目一览

5.给application.properties文件添加mysql配置信息,mysql数据库就用https://blog.csdn.net/charles542307299/article/details/121449246
docker做的mysql-dev容器


mybatis.config-location=classpath:mapper/mybatis-config.xml
mybatis.mapper-locations=classpath:mapper/*Mapper.xml
mybatis.type-aliases-package=com.sixdog.forget.entity

spring.datasource.url=jdbc:mysql://192.168.0.102:3307/forget
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driverClassName =com.mysql.cj.jdbc.Driver

6.先从用户做起,当前主体文件结构
在这里插入图片描述
7.开始填肉,实体类User.java

package com.sixdog.forget.entity;

import java.io.Serializable;

public class User implements Serializable {

	/**
	 * serialVersionUID
	 */
	private static final long serialVersionUID = 1L;

	private String id;
	private String userName;
	private String passWord;
	private String age;
	private String sex;
	private String tel;
	private String picture;

	public User() {
		super();
	}

	public User(String userName, String passWord) {
		super();
		this.userName = userName;
		this.passWord = passWord;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getPassWord() {
		return passWord;
	}

	public void setPassWord(String passWord) {
		this.passWord = passWord;
	}

	public String getAge() {
		return age;
	}

	public void setAge(String age) {
		this.age = age;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public String getTel() {
		return tel;
	}

	public void setTel(String tel) {
		this.tel = tel;
	}

	public String getPicture() {
		return picture;
	}

	public void setPicture(String picture) {
		this.picture = picture;
	}

	@Override
	public String toString() {
		return "User [id=" + id + ", userName=" + userName + ", passWord=" + passWord + ", age=" + age + ", sex=" + sex
				+ ", tel=" + tel + ", picture=" + picture + "]";
	}

}

8.UserController控制器

package com.sixdog.forget.controller;

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.sixdog.forget.entity.User;
import com.sixdog.forget.service.UserService;

@RestController
@RequestMapping("/forget")
public class UserController {

	@Autowired
	private UserService userService;
	
	@RequestMapping("/getAllUser")
	public List<User> getAllUser(){
		List<User> list = userService.getAllUser();
		return list;
	}
	
	@RequestMapping("/saveUser")
	public void saveUser(User user){
		userService.saveUser(user);
	}
	
	@RequestMapping("/deleteUserById")
	public void deleteUserById(Long id){
		userService.deleteUserById(id);
	}
	
	@RequestMapping("/updateUser")
	public void updateUser(Long id,String userName,String passWord,String age,String sex,String tel,String picture){
		userService.updateUser(id, userName, passWord,age,sex,tel,picture);
	}
}


9.UserService

package com.sixdog.forget.service;

import java.util.List;

import com.sixdog.forget.entity.User;

public interface UserService {

	public List<User> getAllUser();

	public void saveUser(User user);

	public void deleteUserById(Long id);

	public void updateUser(Long id, String userName, String passWord, String age, String sex, String tel,
			String picture);

}


10.UserServiceImpl

package com.sixdog.forget.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.sixdog.forget.entity.User;
import com.sixdog.forget.mapper.UserMapper;
import com.sixdog.forget.service.UserService;

@Service
public class UserServiceImpl implements UserService {

	@Autowired
	private UserMapper userMapper;

	@Override
	public List<User> getAllUser() {
		List<User> list = userMapper.getAll();
		return list;
	}

	@Override
	public void saveUser(User user) {
		userMapper.saveUser(user);

	}

	@Override
	public void deleteUserById(Long id) {
		userMapper.deleteUserById(id);
	}

	@Override
	public void updateUser(Long id, String userName, String passWord, String age, String sex, String tel,
			String picture) {
		userMapper.updateUser(id, userName, passWord, age, sex, tel, picture);

	}

}


11.UserMapper

package com.sixdog.forget.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.sixdog.forget.entity.User;

@Mapper
public interface UserMapper {
	public List<User> getAll();

	public void saveUser(User user);

	public void deleteUserById(Long id);

	public void updateUser(@Param("id") Long id, @Param("userName") String userName, @Param("passWord") String passWord,
			@Param("age") String age, @Param("sex") String sex, @Param("tel") String tel,
			@Param("picture") String picture);
}

12.resources/mapper/mybatis-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

</configuration>

13.resources/mapper/UserMapper.xml

<?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.sixdog.forget.mapper.UserMapper">

    <select id="getAll" resultType="user">
    	select 
    	     * 
    	from 
    	    user
    </select>
    <insert id="saveUser" useGeneratedKeys="true" keyProperty="id">
    	insert
        into 
            user(
                username
                ,password
                ,age
                ,sex
                ,tel
                ,picture
                ,createDate
            ) 
            values(
                #{userName}
                ,#{passWord}
                ,#{age}
                ,#{sex}
                ,#{tel}
                ,#{picture}
                ,curdate()
            );
    </insert>
    <delete id="deleteUserById">
		delete 
		from 
		    user 
	    where 
	        id=#{id}
    </delete>
    
    <update id="updateUser">
    	update
            user
        set 
            username = #{userName}
            ,password = #{passWord}
            ,age = #{age}
            ,sex = #{sex}
            ,tel = #{tel}
            ,picture = #{picture}
            ,updateDate = curdate()
        where id = #{id}
    </update>
</mapper>

14.命令行窗口进入项目路径下,执行:./mvnw spring-boot:run启动服务,访问http://localhost:8080/forget/saveUser?userName=段子羽&passWord=666666&age=18&sex=男&tel=13478998888
数据库确认:
在这里插入图片描述
在这里插入图片描述
15.插入结果确认
http://localhost:8080/forget/getAllUser
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值