以下指示插入操作以及获取记录值的ID的部分操作代码!!!

首先是简单的表单实现

 <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<form action="${pageContext.request.contextPath}/user.do" method="POST">
<label for="username">
username:
<input type="text" id="username" name="username"/>
</label>
<!-- label的作用是包含相关的文本框 -->
<label for="password">
password:
<input type="text" id="password" name="password"/>
</label> <label for="birthday">
birthday:
<input type="text" id="birthday" name="birthday"/>
</label> <label for="gender">
gender:
<input type="text" id="gender" name="gender"/>
</label> <button>提交</button>
</form>
</body>
</html>

User类为:

 package com.example.edu.model;

 public class User {
private int id;
private String username;
private String password;
private String birthday;
private String gender; public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getPassword() {
return password;
} public void setPassword(String password) {
this.password = password;
} public String getUsername() {
return username;
} public void setUsername(String username) {
this.username = username;
} public String getBirthday() {
return birthday;
} public void setBirthday(String birthday) {
this.birthday = birthday;
} public String getGender() {
return gender;
} public void setGender(String gender) {
this.gender = gender;
} @Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
", birthday='" + birthday + '\'' +
", gender='" + gender + '\'' +
'}';
}
}

获取表单数据的方式有:

1.直接在controller层的方法参数中写入表单的参数(也就是表单的name?)

  @RequestMapping(value = "signin", method = RequestMethod.POST)
public String loging(@RequestParam(value = "username") String username, String password) {
System.out.println("username:" + username);
System.out.println("password:" + password);
return "redirect:success.do";
}

注意到上面使用到了  @RequestParam(value = "xxx"),这是用来解决当表单的参数和controller层方法的参数命名不一致的情况,比如表单的username的表单的name不再命名为username ,而是命名为myname,这时如果直接使用

 public String loging( String username, String password)

的话就会出错,可以使用@RequestParam(value = "xxx")来解决这个问题,如下,就是说将表单上myname获得的数据传递到username上来?(好吧,我不知道怎样表达好一点!)

 public String loging(@RequestParam(value = "myname") String username, String password)

2.通过一个实体类(或者说bean)来接收

  @RequestMapping(value = "user", method = RequestMethod.POST)
public String getUser(@ModelAttribute User users) { System.out.println(users); //此时只是获取到了表单的输入数据,尚未将数据插入数据库,因此得到的id默认为0
int id = userService.insert(users); //插入数据库并返回记录的id值
System.out.println("The id is:" + id);
return "redirect:success.do";
}

注意方法参数中的 @ModelAttribute User users 。

3.还有其他的方法,自己没有实现,推荐一篇博客:https://www.cnblogs.com/yyxyqh/p/7749990.html

接下来就是获取插入数据库的记录的id了。(关于已成功获取数据但在插入数据库失败可以点这里

@Override
public int insert(User user) {
userMapper.insert(user);
return user.getId(); //返回插入后的id值
}

大概就是要在你具体的insert方法中,执行完后要使用getId来获取插入记录的id(每个人定义的接口不同,所以抱歉只放出上面的几行代码,不过我觉得核心是在你定义的insert方法中使用类似于 user.getId(); 来获取id值的这个操作。)

作个记录,以防自己某天忘了!

SSM获取表单数据插入数据库并返回插入记录的ID值的更多相关文章

  1. 解决ssm项目表单数据提交到数据库乱码问题

    问题:在ssm整合的项目里,从前台页面获取表单数据存到数据库中乱码 先说解决办法然后分析:问题出在form表单的提交方式上,我的web.xml配置过滤器都已经指定了编码集,为什么没有生效?原因是,对于 ...

  2. Struts2封装获取表单数据方式

    一.属性封装 1.创建User实体类` package cn.entity; public class User { private String username; private String p ...

  3. strus2中获取表单数据 两种方式 属性驱动 和模型驱动

    strus2中获取表单数据 两种方式 属性驱动 和模型驱动 属性驱动 /** * 当前请求的action在栈顶,ss是栈顶的元素,所以可以利用setValue方法赋值 * 如果一个属性在对象栈,在页面 ...

  4. 初学者易上手的SSH-struts2 02Action获取表单数据-通配符

    在上一章中,我们已经搭建好了struts2的一个开发环境,那么这一章就来做一个简单的登录功能,以及介绍和使用struts2里面一个重要的东西-通配符. 第一步,在WebContent下面新建一个log ...

  5. Action 中获取表单数据的三种方式

    (尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/53138905  冷血之心的博客) Action 中获取表单提交数据 ...

  6. Struts2_day02--Struts2封装获取表单数据方式

    Struts2封装获取表单数据方式 原始方式获取表单封装到实体类对象 属性封装(会用) 1 直接把表单提交属性封装到action的属性里面 2 实现步骤 (1)在action成员变量位置定义变量 - ...

  7. MyBatis插入数据之后返回插入记录的id

    MyBatis插入数据的时候,返回该记录的id<insert id="insert" keyProperty="id" useGeneratedKeys= ...

  8. 让 Python 的1、数据库查询返回字典记录--- 2、利用zip函数将两个列表(list)组成字典(dict)

    让 Python 的数据库查询返回字典记录: https://yanbin.blog/python-database-query-return-dictionary-result/#more-9179 ...

  9. C# 批量插入表SQLSERVER SqlBulkCopy往数据库中批量插入数据

    #region 帮助实例:SQL 批量插入数据 多种方法 /// <summary> /// SqlBulkCopy往数据库中批量插入数据 /// </summary> /// ...

随机推荐

  1. Linux命令 sed

    一. 以行为单位进行操作. d:删除 $ nl passwd | sed '2,5d'  # 删除第2~5行 $ nl passwd | sed '2d'  # 删除第2行 $ nl passwd | ...

  2. 解决 .net core 中 nuget 包版本冲突问题

    今天在一个 asp.net core 项目中遇到了 nuget 包版本冲突的问题,错误信息如下: Version conflict detected for Microsoft.AspNet.WebA ...

  3. CodeForces 570D - Tree Requests - [DFS序+二分]

    题目链接:https://codeforces.com/problemset/problem/570/D 题解: 这种题,基本上容易想到DFS序. 然后,我们如果再把所有节点分层存下来,那么显然可以根 ...

  4. 范进中Nature——儒林外史新义

    范进中Nature——儒林外史新义 范进发了文章回办公室,实验室一块儿搬砖的挂名作者俱各欢喜.正待烧锅煮方便面,只见他老板胡副教授,手里拿着一包外卖和一瓶红星二锅头,走了进来.范进向他作揖,坐下.胡副 ...

  5. SIM800C 连接服务器

    AT+CIPSTART=TCP,域名,端口号 OK 只返回OK,这种情况,说明域名的服务器出错了,OK表示格式正确,但是实际上的TCP是没有连接上的. 测试库服务器出错的时候,就是这种情况 实际连上了 ...

  6. GIS常用知识列举

    GIS知识分类 我认为GIS知识,大体可分为以下三类. G——测量学.地图学.误差理论等基础——测绘方面 I——数据库.开发——IS方面 S——GIS原理——结合前面两种知识的理念 第一类,是基础,有 ...

  7. FastJson一些常见方法(API):处理JSON变得好简单

    fastjson是目前java语言中最快的json库,比自称最快的jackson速度要快,第三方独立测试结果说明比gson快大约6倍 JSON帮助类 这个可以做一个实例研究代码,也可以作为一个工具类 ...

  8. etcd集群的搭建

    由于最近在学习kubernetes,etcd作为kubernetes集群的主数据库,必须先启动. etcds实例名称 IP地址 Hostname etcd 1 192.168.142.161 kube ...

  9. javascript笔记——源生js实现each方法

    出处:http://www.lovejavascript.com/#!zone/blog/content.html?id=48 jquery里面有个each方法,将循环操作简化.便捷. 随后es出了个 ...

  10. Lua C/C++互相调用

    先来说下大致脚本引擎框架,此次采用如下,即运行C++代码启动程序,然后加载Lua脚本执行! 1.基础 Lua脚本中只能调用 int (*lua_CFunction) (lua_State *L) 这种 ...