springboot实战小项目——查询用户(初学者小白版并附资源)

(无论是eclipse还是idea等能开发Springboot框架的软件,其创建的Spring Web的目录结构都一样,因此我不放项目结构,后面直接说文件夹,创建一个springboot项目后自己就会知道结构)

第一步:在用idea创建Maven的spring Web后:向pom.xml导入以下两个依赖。

springboot实战小项目——查询用户(初学者小白版并附资源)_第1张图片

springboot实战小项目——查询用户(初学者小白版并附资源)_第2张图片

        
            org.springframework.boot
            spring-boot-starter-data-jdbc
        


        
            mysql
            mysql-connector-java
            8.0.22
        

第一个是数据库的驱动器,第二个是数据库链接器。

第二步:在application.properties下写下如下数据(由于mysql的版本在8以上,所以url后面一定要跟时区即:?serverTimezon=UTC,否则会报错),其中server.port的意思是启动springboot服务时的端口,test为我想连接的数据库的名字,到时候可以对其下面的表进行操作(这些基本配置对着自己的数据库来配置,别直接粘贴):

springboot实战小项目——查询用户(初学者小白版并附资源)_第3张图片

server.port=8040
spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jdbc.template.query-timeout=1000

第三步:整合Mybatis,往pom.xml中加入以下以来依赖:

springboot实战小项目——查询用户(初学者小白版并附资源)_第4张图片

        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            2.3.1
        

第四步:在resources文件夹下创建mybatis文件夹,并在mybatis文件夹下创建mybatis-config.xml文件与Mapper文件夹,如下:

springboot实战小项目——查询用户(初学者小白版并附资源)_第5张图片

第五步:向mybatis-config.xml中写下如下配置:





mybatis就是为数据库而生的。

第六步(开始实战) :在与springboot的启动类(工程名+Application组成的类,在java文件夹的子文件夹下)所在目录下创建如下文件夹(bean文件夹,controller文件夹,mapper文件夹,service文件夹)。bean文件夹存放项目的实体类(用户,购物车等想要定义的某个对象),controller文件夹存放控制器类(提供一个Url,来引向对应的业务操作,这是springboot的响应方式,不同的Url的响应方式不同,因为执行的方法不同,这也是为了让工程能满足更多功能需求),service文件夹存放业务逻辑操作(bean文件夹某个对象包含的方法就放在这里),mapper文件夹(数据持久层,主要是定义一个接口对数据库进行操作)。

springboot实战小项目——查询用户(初学者小白版并附资源)_第6张图片

 第七步:各文件夹下创建的东西如下(我以查询用户为例):

springboot实战小项目——查询用户(初学者小白版并附资源)_第7张图片

User.java

package com.example.demo.bean;

public class User {

    private Integer id;
    private String name;
    public Integer getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}

(主要是定义一些实体类的基本属性)

 UserController.java

package com.example.demo.controller;

import com.example.demo.bean.User;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;


@Controller
public class UserController {

    @Autowired
    UserService userService;
    @ResponseBody
    @GetMapping("/User")
    public User getById(@RequestParam("id") Long id){
        return  userService.getUserById(id);
    }
}

 (@Controller声明这是一个控制器,因为Controller要启用Service的方法所以要定义Service的对象,@Autowired是自动注入对象,就不用new了,这是springboot提供的简单方法,@ResponseBody是为了返回Json串,后面会看到效果。@GetMapping提供一个Url,当访问这个Url就启动这个Url下的方法,就相当于Controller这个老板给手下的Service员工分配对应的工作,不同Url分配的工作不同。@RequestParam("id")是Url最后会加一个id参数来请求后面的service方法,最后会给出其使用方法,这里先记着这个点)

UserService.java

package com.example.demo.service;


import com.example.demo.bean.User;
import com.example.demo.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class UserService {

    @Autowired
    UserMapper userMapper;
    public User getUserById(Long id){
        return userMapper.getName(id);

    }
}

(@Service声明这是一个Service对象,因为它要调用Mapepr对象,因此要定义一个Mapper对象,并调用Mapper对象的方法)

UserMapper.java

package com.example.demo.mapper;

import com.example.demo.bean.User;
import org.apache.ibatis.annotations.Mapper;


@Mapper
public interface UserMapper {
    public User getName(Long id);

}

 (@Mapper声明这是一个Mapper接口,用来操作数据库,具体的操作原理是来自Mybatis的映射机制,也就是之前依赖加入的Mybatis,该机制可在Mybatis官网查看。)

第八步:之前在resource文件夹下创建的Mapper文件夹下创建UserMapper.xml

springboot实战小项目——查询用户(初学者小白版并附资源)_第8张图片

UserMapper.xml





    

 其中namespace是填入UserMapper.java(注意是.java)的路径,作用就是映射,id是UserMapper.java定义的方法名,resultType是实体类的路径(两端一定不要有空格),下面是sql语句,因为有传id参数过来,所以后面是id=#{id},就是为了引入参数值。

第九步:在application.properties下写入mybatis的规则,如下

mybatis.config-location=classpath:mybatis/mybatis-config.xml
mybatis.mapper-locations=classpath:mybatis/Mapper/*.xml

 (第一行是mybatis配置文件的位置,第二行是所有mapper的xml文件的地址,起到映射作用)

第十步:启动springboot项目,并在浏览器搜索栏输入:localhost:8040/User?id=1

springboot实战小项目——查询用户(初学者小白版并附资源)_第9张图片

 可看到查询到id为1的用户的信息Json串。这里也能看出之前Controller的id参数用法。

数据库结构如下:

 以上就是springboot项目的基本用法了,在此基础上可以研究自己的操作用法,慢慢学,一天多学一点用法就能掌握SpringBoot,本质上跟python的flask差不多。

项目链接(按上面的步骤来也行):

(4条消息) springboot小项目开发(查询数据库用户信息)资源-CSDN文库

你可能感兴趣的:(spring,boot,数据库,java)