当前位置: 首页 > news >正文

spring boot + mybatis + mysql 只有一个实体类的demo

使用MyBatis进行数据库操作,配置简单。主要演示了mybatis可以不用只使用方法名来对应mapper.java和mapper.xml。

目录结构

pom.xml
src/
├── main/
│   ├── java/
│   │   └── com/
│   │       └── springbootjdbcweb/
│   │           └── springbootjdbcweb/
│   │               ├── SpringbootjdbcwebApplication.java
│   │               ├── controller/
│   │               │   └── CertificationAuditController.java
│   │               ├── mapper/
│   │               │   ├── CertificationAuditMapper.java
│   │               │   └── CertificationAuditMapper.xml
│   │               ├── pojo/
│   │               │   └── CertificationAudit.java
│   │               └── service/
│   │                   └── CertificationAuditService.java
│   └── resources/
│       ├── application.yml
│       ├── static/
│       └── templates/
│           └── login.html
└── test/└── java/└── com/└── springbootjdbcweb/└── springbootjdbcweb/└── SpringbootjdbcwebApplicationTests.java

表sql


CREATE TABLE certificationaudit (serialnumber INT PRIMARY KEY AUTO_INCREMENT COMMENT '序号',applicationnumber INT NOT NULL COMMENT '申请编号',doctorname VARCHAR(50) NOT NULL COMMENT '医生姓名',medicalestablishment VARCHAR(100) NOT NULL COMMENT '医疗机构',specificationcenter VARCHAR(100) NOT NULL COMMENT '规范中心',phonenumber VARCHAR(20) NOT NULL COMMENT '手机号码',controlsystem VARCHAR(255) COMMENT '管理制度',coordinatesystem VARCHAR(255) COMMENT '协调体系',heartfailurearchitecture DATETIME COMMENT '心衰架构',creationtime DATETIME NOT NULL COMMENT '创建时间',filewritepeople VARCHAR(50) NOT NULL COMMENT '填表人员',auditstatus VARCHAR(20) NOT NULL COMMENT '审核状态',operation VARCHAR(255) COMMENT '操作'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='认证审核表';

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.2</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.springbootjdbcweb</groupId><artifactId>springbootjdbcweb</artifactId><version>0.0.1-SNAPSHOT</version><name>springbootjdbcweb</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version></properties><dependencies>
<!--        <dependency>-->
<!--            <groupId>org.apache.httpcomponents</groupId>-->
<!--            <artifactId>httpcore</artifactId>-->
<!--            <version>4.3.3</version>-->
<!--        </dependency>--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--通用Mapepr--><dependency><groupId>tk.mybatis</groupId><artifactId>mapper-spring-boot-starter</artifactId><version>2.0.4</version></dependency><!--分页插件--><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.3.0</version></dependency><!--FastJson--><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.50</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId><version>1.15</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-javadoc-plugin</artifactId><version>3.0.0</version></plugin></plugins><resources><resource><directory>src/main/java</directory><!--所在的目录--><includes><!--包括目录下的.properties,.xml文件都会扫描到--><include>**/*.yml</include><include>**/*.xml</include></includes><filtering>false</filtering></resource></resources></build></project>

配置文件

server:port: 8080
spring:datasource:username: rootpassword: 1234url: jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTCdriver-class-name: com.mysql.cj.jdbc.Driver
pagehelper:page-size-zero: truehelper-dialect: mysqlreasonable: truesupport-methods-arguments: trueparams: count=countsql
logging:level:com:springbootjdbcweb:springbootjdbcweb: debug

mybatis 使用 完全限定名+类名+方法名也可以关联。

实体类映射

import java.util.Date;/*认证审核*/public class CertificationAudit{/*序号:serial number  int申请编号:application number  int医生姓名:doctor name医疗机构:medical establishment规范中心:Specification center手机号码:phone number管理制度:control system协调体系:Coordinate system心衰架构:Heart failure architecture创建时间:creation time  datetime填表人员:Fill out a form personnel--file write people审核状态:audit status操作:operation*/private Integer serialNumber;private Integer applicationNumber;private String doctorName;private String medicalEstablishment;private String specificationCenter;private String phoneNumber;private String controlSystem;private String coordinateSystem;private Date heartFailureArchitecture;private Date creationTime;private String fileWritePeople;private String auditStatus;private String operation;/* 忽略get set 空参构造器,全参构造器 */
}

mapper.java


package com.springbootjdbcweb.springbootjdbcweb.mapper;import com.springbootjdbcweb.springbootjdbcweb.pojo.CertificationAudit;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;
import tk.mybatis.mapper.common.Mapper;@Component
public interface CertificationAuditMapper extends Mapper<CertificationAudit> {int delete1(@Param("serialnumber") Integer serialnumber);
}

mapper.xml


<?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.springbootjdbcweb.springbootjdbcweb.mapper.CertificationAuditMapper"><!--通用查询映射结果--><resultMap id="sel" type="com.springbootjdbcweb.springbootjdbcweb.pojo.CertificationAudit"><!--column数据库      property实体类对应--><id column="serialnumber" property="serialNumber"/><result column="applicationnumber" property="applicationNumber"/><result column="doctorname" property="doctorName"/><result column="medicalestablishment" property="medicalEstablishment"/><result column="specificationcenter" property="specificationCenter"/><result column="phonenumber" property="phoneNumber"/><result column="controlsystem" property="controlSystem"/><result column="coordinatesystem" property="coordinateSystem"/><result column="heartfailurearchitecture" property="heartFailureArchitecture"/><result column="creationtime" property="creationTime"/><result column="filewritepeople" property="fileWritePeople"/><result column="auditstatus" property="auditStatus"/><result column="operation" property="operation"/></resultMap><!--通用查询结果列--><sql id="aaa">
serialnumber,applicationnumber,doctorname,medicalestablishment,specificationcenter,phonenumber,controlsystem,coordinatesystem,heartfailurearchitecture,creationtime,filewritepeople,auditstatus,operation</sql><select id="selCerList" resultMap="sel">select * from CertificationAudit</select><delete id="com.springbootjdbcweb.springbootjdbcweb.mapper.CertificationAuditMapper.delete1" parameterType="int">delete from certificationaudit where serialnumber=#{serialnumber}</delete>
</mapper>

service

import com.springbootjdbcweb.springbootjdbcweb.mapper.CertificationAuditMapper;
import com.springbootjdbcweb.springbootjdbcweb.pojo.CertificationAudit;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;import java.util.List;@Service
@Transactional
public class CertificationAuditService {@Autowiredprivate CertificationAuditMapper certificationAuditMapper;public List<CertificationAudit> selCerList() {return certificationAuditMapper.selectAll();}public Integer delCertificationAudit(Integer serialnumber){return certificationAuditMapper.deleteByPrimaryKey(serialnumber);}public Integer delete1(Integer serialnumber){return certificationAuditMapper.delete1(serialnumber);}
}

controller

import com.springbootjdbcweb.springbootjdbcweb.service.CertificationAuditService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;@RestController
//@ResponseBody
//@RequestMapping
public class CertificationAuditController {@Autowiredprivate CertificationAuditService certificationAuditService;@RequestMapping(value = "/cer")public String selCer(  Integer serialnumber) {Integer integer = certificationAuditService.delete1(serialnumber);System.out.println(integer);return "login";}@GetMapping("/k")public String s(){System.out.println("232232");return "login";}
}

启动类

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import tk.mybatis.spring.annotation.MapperScan;@SpringBootApplication
@MapperScan("com.springbootjdbcweb.springbootjdbcweb")
public class SpringbootjdbcwebApplication {public static void main(String[] args) {SpringApplication.run(SpringbootjdbcwebApplication.class, args);}}
http://www.xdnf.cn/news/1223209.html

相关文章:

  • ZED 2/2i 相机安装与调试完整指南 | Ubuntu 20.04 + CUDA 11.8
  • 04 基于sklearn的机械学习-梯度下降(上)
  • Sklearn 机器学习 文本数据 TF-IDF实现文本向量化
  • Vue3中Markdown解析与渲染的完整解决方案:从安全到性能优化
  • 南太平洋金融基建革命:斐济-巴新交易所联盟的技术破局之路 ——从关税动荡到离岸红利,跨境科技如何重塑太平洋资本生态
  • Qt Quick 3D 基础与应用
  • Git基础命令大全
  • android APT技术
  • OSPF笔记整理
  • 网络层协议IP
  • Go语言常用的设计模式
  • 【科普】怎么理解Modbus、TCP、UDP
  • “数据管理” 一场高风险的游戏
  • 向日葵软件提权
  • 从入仓到结算全自动化:易境通如何重构散货拼柜业务流程?
  • (二)LoRA微调BERT:为何在单分类任务中表现优异,而在多分类任务中效果不佳?
  • 每日练习(红黑树)
  • 吃透 B + 树:MySQL 索引的底层逻辑与避坑指南
  • 3. boost::asio之同步读写的客户端和服务器示例
  • 如何创建一个飞书应用获取自己的飞书AppID和AppSecret?
  • 【Django】-2- 处理HTTP请求
  • 标准项目-----网页五子棋(4)-----游戏大厅+匹配+房间代码
  • 逻辑回归----银行贷款模型优化
  • 人工智能与金融:金融服务的重塑
  • CSS font-weight:500不生效
  • 使用 Docker 部署 Label Studio 时本地文件无法显示的排查与解决
  • 力扣刷题日常(9-10)(待完善)
  • Pycaita二次开发基础代码解析:几何体重命名与参数提取技术
  • Node.js中Buffer的用法
  • 【暑期每日一题】洛谷 P9390 金盏花