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

本文详细介绍了如何在SpringBoot项目中集成Mybatis和MySQL,包括添加依赖、配置数据库连接、创建实体类、定义Mapper接口及XML文件,以及控制器和服务的实现,展示了查询用户信息的示例。
摘要由CSDN通过智能技术生成

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

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

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jdbc</artifactId>
        </dependency>


        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.22</version>
        </dependency>

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

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

mybatis.config-location=classpath:mybatis/mybatis-config.xml
mybatis.mapper-locations=classpath:mybatis/Mapper/*.xml
server.port=8040
spring.datasource.url=jdbc:mysql://localhost:3306/data?serverTimezone=UTC&characterEncoding=utf8
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中加入以下以来依赖:

     <dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>3.0.3</version>
		</dependency>
	</dependencies>

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

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

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

</configuration>

mybatis就是为数据库而生的。

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

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

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

UserMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "https://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.example.demo.mapper.UserMapper">
    <select id="getName" resultType="com.example.demo.bean.User">
        select * from user where id = #{id}
    </select>
</mapper>

 其中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

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

数据库结构如下:

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值