ssm获取html值,SSM获取表单数据插入数据库并返回插入记录的ID值

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

首先是简单的表单实现

1

2

3

4

5

6

Insert title here

7

8

9

10

11 username:12

13

14

15

16 password:17

18

19

20

21 birthday:22

23

24

25

26 gender:27

28

29

30 提交

31

32

33

User类为:

1 packagecom.example.edu.model;2

3 public classUser {4 private intid;5 privateString username;6 privateString password;7 privateString birthday;8 privateString gender;9

10 public intgetId() {11 returnid;12 }13

14 public void setId(intid) {15 this.id =id;16 }17

18 publicString getPassword() {19 returnpassword;20 }21

22 public voidsetPassword(String password) {23 this.password =password;24 }25

26 publicString getUsername() {27 returnusername;28 }29

30 public voidsetUsername(String username) {31 this.username =username;32 }33

34 publicString getBirthday() {35 returnbirthday;36 }37

38 public voidsetBirthday(String birthday) {39 this.birthday =birthday;40 }41

42 publicString getGender() {43 returngender;44 }45

46 public voidsetGender(String gender) {47 this.gender =gender;48 }49

50 @Override51 publicString toString() {52 return "User{" +

53 "id=" + id +

54 ", username='" + username + '\'' +

55 ", password='" + password + '\'' +

56 ", birthday='" + birthday + '\'' +

57 ", gender='" + gender + '\'' +

58 '}';59 }60 }

获取表单数据的方式有:

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

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

注意到上面使用到了  @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)来接收

1 @RequestMapping(value = "user", method =RequestMethod.POST)2 publicString getUser(@ModelAttribute User users) {3

4 System.out.println(users); //此时只是获取到了表单的输入数据,尚未将数据插入数据库,因此得到的id默认为0

5 int id = userService.insert(users); //插入数据库并返回记录的id值

6 System.out.println("The id is:" +id);7 return "redirect:success.do";8 }

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

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

@Overridepublic intinsert(User user) {

userMapper.insert(user);return user.getId(); //返回插入后的id值

}

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值