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 ServiceImplimplements 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下)-->
效果演示
以上就是数据库连与增删改查功能的简单实现。
如有疑问,欢迎留言。



