栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【JAVAWEB-Springboot的运用】第四章 连接数据库(Mysql)并实现简单增删改查

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【JAVAWEB-Springboot的运用】第四章 连接数据库(Mysql)并实现简单增删改查

准备数据库(mysql)

mysql安装,可以参考菜鸟教程Mysql安装
当然也可以使用宝塔面板(免费版)傻瓜式安装
这里需要帮助的话,可以私聊我,如果我有时间的话一定会帮忙的
为什么使用mysql,当然是因为开源啦,而且社区文档成熟,有很多坑别人都帮你踩过啦。

新建单表

这里先不做用户权限管理了,直接演示简单表的增删改查。

CREATE TABLE `book` (
  `ID` varchar(60) NOT NULL COMMENT '主键',
  `CODE` varchar(20) NOT NULL COMMENT '书本编号',
  `NAME` varchar(150) NOT NULL COMMENT '书本名称',
  `CREATE_TIME` datetime NOT NULL COMMENT '创建时间',
  `UPDATE_TIME` datetime DEFAULT NULL COMMENT '更新时间',
  `REMARK` varchar(1500) DEFAULT NULL COMMENT '备注'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='书本表'
直接使用MP(MyBatis-Plus)

PS: 个人JPA用的很少,就不介绍了,喜欢的可以自己查阅哦。都是好工具,但是会用用好才是王道。

    增加以下maven依赖
        
        
            mysql
            mysql-connector-java
            runtime
        
        
        
            com.baomidou
            mybatis-plus-boot-starter
            3.5.1
        
    配置MP和数据库连接,新增MybatisPlusConfig.java,配置application.properties(分页下一章演示)
package com.demo.bootweb.config;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer;
import com.baomidou.mybatisplus.core.MybatisConfiguration;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.apache.ibatis.type.JdbcType;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;

@EnableTransactionManagement
@Configuration
@MapperScan({"com.demo.bootweb.**.mapper"})
public class MybatisPlusConfig {

    
    @Bean
    public MybatisPlusInterceptor paginationInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
        return interceptor;
    }

    
    @Bean
    public ConfigurationCustomizer configurationCustomizer(){
        return new MybatisPlusCustomizers();
    }

    
    static class MybatisPlusCustomizers implements ConfigurationCustomizer {
        @Override
        public void customize(MybatisConfiguration configuration) {
            configuration.setJdbcTypeForNull(JdbcType.NULL);
        }
    }
}
#端口配置 后面若部署至tomcat
server.port=8080
#项目路径配置 一般为根路径或项目名
server.servlet.context-path=/boot

#freemarker的默认配置 编码UTF-8 路径是templates下 我们直接使用默认配置即可
#但是如果需要访问request的对象,我们需要配置以下其引用名称 如页面可能会经常用到项目路径${request.contextPath}
spring.freemarker.request-context-attribute=request

#数据库配置
#Mysql root Ro0t!@#
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/frame?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false
spring.datasource.username=root
spring.datasource.password=Ro0t!@#

实现增删改查功能
    后台增加以下代码

BookController.java

package com.demo.bootweb.book.controller;

import com.demo.bootweb.book.entity.Book;
import com.demo.bootweb.book.service.IBookService;
import org.springframework.web.bind.annotation.*;

import java.time.LocalDateTime;
import java.util.List;
import java.util.UUID;

@RestController
@RequestMapping("/book")
public class BookController {

    private final IBookService bookService;

    public BookController(IBookService bookService) {
        this.bookService = bookService;
    }

    
    @GetMapping("/get/{id}")
    public Book hello(@PathVariable String id){
        return bookService.getById(id);
    }

    
    @GetMapping("/queryList")
    public List queryList(){
        return bookService.list();
    }

    
    @PostMapping
    public void save(Book book){
        book.setId(UUID.randomUUID().toString().replace("-", ""));
        book.setCreateTime(LocalDateTime.now());
        bookService.save(book);
    }

    
    @PutMapping
    public void update(Book book){
        book.setUpdateTime(LocalDateTime.now());
        bookService.updateById(book);
    }

    
    @DeleteMapping
    public void delete(String id){
        bookService.removeById(id);
    }
}

Book.java

package com.demo.bootweb.book.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;

import java.time.LocalDateTime;


@TableName("BOOK")
public class Book {
    
    private String id;
    
    private String code;
    
    private String name;
    
    private String remark;
    
    @TableField("CREATE_TIME")
    private LocalDateTime createTime;
    
    @TableField("UPDATE_TIME")
    private LocalDateTime updateTime;

    public String getId() {
        return id;
    }

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

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getName() {
        return name;
    }

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

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }
}

BookMapper.java & BookMapper.xml

package com.demo.bootweb.book.mapper;

import com.baomidou.mybatisplus.core.mapper.baseMapper;
import com.demo.bootweb.book.entity.Book;
import org.springframework.stereotype.Repository;


@Repository
public interface BookMapper extends baseMapper {

}






BookServiceImpl.java & IBookService.java

package com.demo.bootweb.book.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.demo.bootweb.book.entity.Book;
import com.demo.bootweb.book.mapper.BookMapper;
import com.demo.bootweb.book.service.IBookService;
import org.springframework.stereotype.Service;


@Service
public class BookServiceImpl extends ServiceImpl implements IBookService {

}

package com.demo.bootweb.book.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.demo.bootweb.book.entity.Book;

public interface IBookService extends IService {

}

    前端的简单实现
<#assign root=request.getContextPath()>



    
    HelloWorld!
    


    

Hello World!

项目根目录:${root}

<#-- 使用绝对路径,这样可以避免产生相对路径问题 --> 进入hello dj
序号 书本编号 书本名称 书本备注 创建时间 更新时间 操作
<#--这里只是做简单演示直接使用百度的cdn,如果没有外网环境可以直接将jquery.min.js复制到项目中直接引入静态资源(放在static下)-->
效果演示



结语

以上就是数据库连与增删改查功能的简单实现。
如有疑问,欢迎留言。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/732030.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号