springmvc mybatis 配置一对多的关系使用 <association> 及实体类写法2Spring MVC 会按请求参数名和 POJO 属性名进行自动匹配自动为该对象填充属性值。支持
来源:互联网 发布:java 解压war包 编辑:程序博客网 时间:2024/05/19 16:34
1.mybatis.xml:
<mapper namespace="ssmy.dao.UserDao">
<resultMap type="ssmy.dto.User " id="User ">
<!--<resultMap type="User" id="User"> 如果在sprin文件里配置初始化 mybatis里配置了别名就是有-->
<!-- 用id属性来映射主键字段 -->
<id property="id" column="id" jdbcType="INTEGER"/>
<!-- 用result属性来映射非主键字段 -->
<result property="username;" column="username;" jdbcType="VARCHAR"/>
<result property="password;" column="password;" jdbcType="TIMESTAMP"/>
<result property="email" column="email" jdbcType="VARCHAR"/>
<!--saleChance 对应实体类CusDevPlan private SaleChance saleChance; // 销售机会的引用变量 -->
<association property="address" column="addressid" select="ssmy.dao.UserDao.findSaleChanceById">
</association>
</resultMap>
</mapper>
2.实体类;
package com.atguigu.springmvc.entities;
public class Address {
private String province;
private String city;
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
@Override
public String toString() {
return "Address [province=" + province + ", city=" + city + "]";
}
}
package com.atguigu.springmvc.entities;
public class User {
private Integer id;
private String username;
private String password;
private String email;
private int age;
private Address address;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
// @Override
// public String toString() {
// return "User [username=" + username + ", password=" + password
// + ", email=" + email + ", age=" + age + ", address=" + address
// + "]";
// }
@Override
public String toString() {
return "User [id=" + id + ", username=" + username + ", password="
+ password + ", email=" + email + ", age=" + age + "]";
}
public User(String username, String password, String email, int age) {
super();
this.username = username;
this.password = password;
this.email = email;
this.age = age;
}
public User(Integer id, String username, String password, String email,
int age) {
super();
this.id = id;
this.username = username;
this.password = password;
this.email = email;
this.age = age;
}
public User() {}
}
3.后台方法
/**
* Spring MVC 会按请求参数名和 POJO 属性名进行自动匹配, 自动为该对象填充属性值。支持级联属性。
* 如:dept.deptId、dept.address.tel 等
*/
@RequestMapping("/testPojo")
public String testPojo(User user) {
System.out.println("testPojo: " + user);
return SUCCESS;
}
4.页面
<%@ 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>
<a href="springmvc/testRedirect">Test Redirect</a>
<br><br>
<a href="springmvc/testView">Test View</a>
<br><br>
<a href="springmvc/testViewAndViewResolver">Test ViewAndViewResolver</a>
<br><br>
<!--
模拟修改操作
1. 原始数据为: 1, Tom, 123456,tom@atguigu.com,12
2. 密码不能被修改.
3. 表单回显, 模拟操作直接在表单填写对应的属性值
-->
<form action="springmvc/testModelAttribute" method="Post">
<input type="hidden" name="id" value="1"/>
username: <input type="text" name="username" value="Tom"/>
<br>
email: <input type="text" name="email" value="tom@atguigu.com"/>
<br>
age: <input type="text" name="age" value="12"/>
<br>
<input type="submit" value="Submit"/>
</form>
<br><br>
<a href="springmvc/testSessionAttributes">Test SessionAttributes</a>
<br><br>
<a href="springmvc/testMap">Test Map</a>
<br><br>
<a href="springmvc/testModelAndView">Test ModelAndView</a>
<br><br>
<a href="springmvc/testServletAPI">Test ServletAPI</a>
<br><br>
<form action="springmvc/testPojo" method="post">
username: <input type="text" name="username"/>
<br>
password: <input type="password" name="password"/>
<br>
email: <input type="text" name="email"/>
<br>
age: <input type="text" name="age"/>
<br>
city: <input type="text" name="address.city"/>
<br>
province: <input type="text" name="address.province"/>
<br>
<input type="submit" value="Submit"/>
</form>
<br><br>
<a href="springmvc/testCookieValue">Test CookieValue</a>
<br><br>
<a href="springmvc/testRequestHeader">Test RequestHeader</a>
<br><br>
<a href="springmvc/testRequestParam?username=atguigu&age=11">Test RequestParam</a>
<br><br>
<form action="springmvc/testRest/1" method="post">
<input type="hidden" name="_method" value="PUT"/>
<input type="submit" value="TestRest PUT"/>
</form>
<br><br>
<form action="springmvc/testRest/1" method="post">
<input type="hidden" name="_method" value="DELETE"/>
<input type="submit" value="TestRest DELETE"/>
</form>
<br><br>
<form action="springmvc/testRest" method="post">
<input type="submit" value="TestRest POST"/>
</form>
<br><br>
<a href="springmvc/testRest/1">Test Rest Get</a>
<br><br>
<a href="springmvc/testPathVariable/1">Test PathVariable</a>
<br><br>
<a href="springmvc/testAntPath/mnxyz/abc">Test AntPath</a>
<br><br>
<a href="springmvc/testParamsAndHeaders?username=atguigu&age=10">Test ParamsAndHeaders</a>
<br><br>
<form action="springmvc/testMethod" method="POST">
<input type="submit" value="submit"/>
</form>
<br><br>
<a href="springmvc/testMethod">Test Method</a>
<br><br>
<a href="springmvc/testRequestMapping">Test RequestMapping</a>
<br><br>
<a href="helloworld">Hello World</a>
</body>
</html>
- springmvc mybatis 配置一对多的关系使用 <association> 及实体类写法2Spring MVC 会按请求参数名和 POJO 属性名进行自动匹配自动为该对象填充属性值。支持
- springmvc mybatis 配置一对多的关系使用 <association> 及实体类写法1
- ###Springmvc封装复杂表单数据:表单提交多个实体类的参数【对象类型参数,自动封装】name属性值不能重复。和实体类属性名一致
- springMVC同属性名的多对象
- 获取实体类属性名和值
- MyBatis解决字段名和实体类属性名不相同冲突问题时返回查询结果为空
- 使用Mybatis时实体类属性名和表中的字段名不一致导致结果无法映射到实体类的解决办法
- MyBatis中为类配置别名,列名与属性名不对应的解决方案
- Spring MVC 使用POJO对象绑定请求参数值
- hibernate:映射文件的属性名必须和pojo类的属性名以及数据库字段名一一对应
- Mybatis总结(3)--之数据库字段名和实体类属性名不一致
- 字段名和实体属性名不一致
- mybatis-解决字段名与实体类属性名不相同的冲突
- MyBatis——解决字段名与实体类属性名不相同的冲突
- MyBatis中解决字段名与实体类属性名不相同的冲突
- MyBatis解决字段名与实体类属性名不相同的冲突
- mybatis解决字段名与实体类属性名不相同的冲突
- MyBatis入门03 解决字段名与实体类属性名不相同的冲突
- 网络请求数据 有null 的处理
- 问候Java移位运算符大爷
- redis 的链表简单解析
- [ css ]文本溢出显示省略号
- 替换空格、制表符、回车、换行为""
- springmvc mybatis 配置一对多的关系使用 <association> 及实体类写法2Spring MVC 会按请求参数名和 POJO 属性名进行自动匹配自动为该对象填充属性值。支持
- 前端学习(四)node核心模块querystring
- 【我的Android进阶之旅】Jenkins挂载slave节点,增强分布式编译的效率
- LeetCode 84. Largest Rectangle in Histogram
- Knight Moves(BFS模板)
- POJ 3132 Sum of Different Primes 笔记
- Search Insert Position
- 1.1 Avtivity的生命周期全面分析
- [数据库]事务、并发、数据库锁