Springboot获取前端反馈信息并存入数据库的实现代码
作者:True lies2051 发布时间:2024-01-15 09:06:15
标签:Springboot,数据库
导入mybatis依赖
<!--mybatis-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.1</version>
</dependency>
yml实现mybatis依赖
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/yanan_user #写自己的数据库名
username: root
password: 123456 #自己的账号密码
mybatis:
type-aliases-package: com.wjr.pojo
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
编写前端代码
自行导入jQuery包,并调用
(form表单)
<form>
<input type="text" name="name" placeholder="请输入您的姓名" required="">
<input type="email" name="email" placeholder="请输入您的邮箱" required="">
<input type="text" name="telephone" placeholder="请输入您的联系方式" required="">
<textarea name="message" placeholder="请您提出您的宝贵建议,我们将认真阅读" required=""></textarea>
<input class="btn1" type="button" value="提交" onclick="send(this.form)">
</form>
(ajax请求)
<script>
function send(fdform){
alert(fdform);
var fdj = {name:fdform.name.value,email:fdform.email.value,telephone:fdform.telephone.value,message:fdform.message.value};
$.ajax({
url:"jsonfb",
data:fdj,
contentType:"application/json",
type:"GET"
})
}
</script>
编写数据库信息
@Data //这里导入了lombok依赖
@Table(name = "feedback")
public class Feedback {
@Id
//主键回填
@KeySql(useGeneratedKeys = true)
private int id;
private String name;
private String email;
private String telephone;
private String message;
}
编写insert方法(mapper层接口)
@Repository
public interface FeedbackMapper {
@Insert({"insert into feedback(name,email,telephone,message) values('${feedback.name}','${feedback.email}','${feedback.telephone}','${feedback.message}')"})
int add(@Param("feedback") Feedback feedback);
}
编写接口(service层)
public interface FeedbackService {
int addFeedback(String name, String email, String telephone,String message);
}
编写接口实现(serviceImpl层)
@Service
public class FeedbackServiceImpl implements FeedbackService{
@Autowired
private FeedbackMapper feedbackMapper;
@Override
public int addFeedback(String name, String email, String telephone,String message){
Feedback fb = new Feedback();
fb.setName(name);
fb.setMessage(message);
fb.setTelephone(telephone);
fb.setEmail(email);
return feedbackMapper.add(fb);
}
}
接收信息并存入数据库(controller层)
@Autowired
FeedbackServiceImpl feedbackServiceImpl;
@RequestMapping(value = "/jsonfb") //和ajax请求中url相对应
public String json(Feedback feedback){
System.out.println(feedback);
int f = feedbackServiceImpl.addFeedback(feedback.getName(), feedback.getEmail(), feedback.getTelephone(), feedback.getMessage());
return "contact";
}
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.4.3</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.wjr</groupId>
<artifactId>yanan</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>yanan</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.6</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<!-- mybatis-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.1.5</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</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-resources-plugin</artifactId>
<version>2.4.3</version>
</plugin>
</plugins>
</build>
</project>
注:一个简单的实现获取前端反馈信息存入数据库操作,自行尝试,如果有报错,请看注解是否正确,还可能存在各种版本问题;
来源:https://blog.csdn.net/weixin_46046339/article/details/115285160


猜你喜欢
- 一个非常实用的小方法试想一下,Django中如果我们想对保存进数据库的数据做校验,有哪些实现的方法?我们可以在view中去处理,每当view
- 最好用的mysql密码忘记的解决方法 ,经过测试,如果不能成功一般是你的mysql运行的不正常解决办法: 在windows下:&n
- Qt Designer用于像VC++的MFC一样拖放、设计控件PyUIC用于将Qt Designer生成的.ui文件转换成.py文件Qt D
- 前言最近在写一个移动端的地图项目,也是首次完整的去了解百度地图api,这篇博客会手把手的教你如何使用百度地图api和一些常见问题,后续我也会
- 前言:Selenium 支持 Web 浏览器的自动化,它提供一套测试函数,用于支持 Web 自动化测试。函数非常灵活,能够完成界面元素定位、
- 我们这里所说的head区域,是指页页html代码的<head>和</head>之间的内容。在以前的文章中,主要介绍了
- 使用MySQL进行数据库备份,有很正规的数据库备份方法,同其他的数据库服务器有相同的概念,但有没有想过,MySQL会有更简捷的使用文件目录的
- github源码地址:https://github.com/kuishou68/python各类图表的实现效果爬取的说说内容个性化说说内容词
- 本文实例为大家分享了python超市商品销售管理系统的具体代码,供大家参考,具体内容如下需求分析:超市销售管理系统功能1.欢迎用户使用超市销
- 1. mysql_where子句_聚合函数# ### part 单表查询""" select ... from
- 这篇文章主要介绍了python3.8 微信发送服务器监控报警消息代码实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考
- 图片外框特征参数: ①dashed:虚线②dotted:点虚线③solid:实线④double:双线⑤groove:沟
- 一、通道是什么?其实无论是原子函数还是共享锁都是通过共享内存的方式进行的同步、效率一般不高,而Go语言中则使用了通道,它是一种通过传递信息的
- 作用装饰器可以用于用于装饰一个函数或方法,使得在不修改原函数、方法代码的前提下,为方法添加前置或后置操作;例如突然想要计算一下各个函数的执行
- 在最新版的pandas中(不知道之前的版本有没有这个问题),当我们对具有多层次索引的对象做切片或者通过df[bool_list]的方式索引的
- Go 搭建一个简单 WebSocket 服务端代码例子 test.go, 如下:package mainimport ( "fmt
- python3 判断空列表@(python3)有个判断列表是否为空的需求,试了好多方式,比如:a = []if a is not None:
- 环境: python 2.7 + win10工具:fiddler postman 安卓模拟器首先,打开fiddler,fiddler作为ht
- 调用数据库存储过程见下:<%Set Dataconn = Server.CreateObject(&qu
- 因为写别的程序想要一边遍历一边删除列表里的元素,就写了一个这样的程序进行测试,这样写出来感觉还挺简洁的,就发出来分享一下。代码l=list(