SpringBoot+Mybatis 实现简单的学生书籍管理系统

本文将介绍如何使用Spring Boot框架来构建一个简单的学生书籍管理系统,其中包括用户的注册和登录验证,并通过分层设计来实现系统的模块化和可维护性。

一、准备工作

1.使用Navicat创建数据库表

2.导入依赖包和对应的数据库驱动

在resources/application.properties pom.xml下导入依赖包

  <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>3.0.3</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.25</version>
        </dependency>

在resources/application.properties写数据库连接配置

# 数据库驱动:
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# 数据源名称
spring.datasource.name=defaultDataSource
# 数据库连接地址
spring.datasource.url=jdbc:mysql://106.53.194.250:63306/spring?serverTimezone=UTC
# 数据库用户名&密码:
spring.datasource.username=ccc
spring.datasource.password=@hnucm1254
#下面这些内容是为了让MyBatis映射
#指定Mybatis的Mapper文件
mybatis.mapper-locations=classpath:mapper/*.xml
#指定Mybatis的实体目录
mybatis.type-aliases-package=com.example.springmybatis.pojo
#打印日志
logging.level.com.example.springmybatis = debug

注意根据需求对应修改数据库连接地址等内容

二、分层写代码

Spring Boot 应用程序通常采用分层架构,在包下新建对应的分层Package

(一)用户表的操作

1.model层

Model层对象通常是实体类,实体类的属性通常对应数据库表的字段。

  • @Data:这是Lombok库提供的一个注解,它为类提供了getter和setter方法,以及toString、equals和hashCode方法。使用这个注解可以减少模板代码的编写。
@Data
public class User {
    private int id;
    private String username;
    private String password;
}

2.dao层 

DAO层(Data Access Object)负责与数据库进行交互,执行CRUD(Create, Read, Update, Delete)操作。在Spring Boot中,通常使用MyBatis作为ORM(Object-Relational Mapping)框架来实现DAO层。

MyBatis是一个流行的Java持久层框架,它让数据库操作更加方便。它使用XML或注解来映射SQL语句到Java对象。

@Mapper注解:在Spring Boot项目中标记DAO层的接口,让Spring Boot知道这些接口需要被注册为Bean,并且由MyBatis来处理数据库操作。这样,你就可以通过注入这些Mapper接口来执行数据库操作,而不需要关心底层的实现细节。


@Mapper
public interface UserMapper {
    public int addUser(User user);
    public User findUser(String username,String password);
    public User findUserByName(String userName);


}
<?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.c202201020243.task1.dao.UserMapper">
    <insert id="addUser" parameterType="com.c202201020243.task1.model.User">
        insert into users202201020243(username,password) values(#{username},#{password})
    </insert>


    <select id="findUser" parameterType="com.c202201020243.task1.model.User" resultType="com.c202201020243.task1.model.User">
        select * from users202201020243 where username=#{username} and password=#{password}
    </select>

    <select id="findUserByName" parameterType="java.lang.String" resultType="com.c202201020243.task1.model.User">
        select * from users202201020243 where username=#{username}
    </select>

    <select id="getAllBooks" resultType="com.c202201020243.task1.model.Book">
        select * from users202201020243
    </select>

</mapper>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值