Mybatis-驼峰映射
问题说明:工作中使用驼峰规则的定义的场景比较多的,但是如果每个属性都需要自己手动的封装,则比较繁琐,所以框架应该提供自动映射的功能
驼峰规则说明
官网描述所以需要在配置文件中配置settings
<settings>
//开启驼峰映射规则
<setting naem="mapUnderscoreToCamelCase" value="true"
</settings>
驼峰规则映射说明
查询用户信息,开启驼峰映射
resultType:1.适合与单表查询,同时要求属性名称和字段相同,2.如果属性和字段满足驼峰命名规则,开启驼峰映射之后,可以使用resultType
resultMap:1.如果字段不一致时使用2.多表关联查询时使用3.如果开启了驼峰映射规则,则自动映射的属性可以省略,最好标识主键4.如果使用驼峰规则映射时,需要映射封装对象时(一对一/一对多),默认条件下,驼峰规则失效,可以使用“autoMapping="true"开启驼峰映射5.默认条件下 一对一,一对多不会自动完成驼峰映射
个人理解:就是开启驼峰映射之后,再xml文件中resultMap的映射标签中驼峰规则也不是直接就可以映射,需要手动使用autoMapping="true"开启驼峰映射
<select id="getAll" resultMap="getEmpRM">
select e.emp_id,e.emp_name,d.dept_id,d.dept_name
from emp_e,dept d
where e.dept_id = d.dept_id
</select>
<resultMap id="getEmpMap" type="Emp" autoMapping="true">
<id column="emp_id" property="empId"/>
//其他属性自动映射
//实现部门映射
<assocation property="dept" javaType="Dept" accoutMapping="true">
<id column="dept_id" property="deptId"/>
//其他的自动映射
</assocation>
</resultMap>
ssm框架
参数接受:如果时多个参数,并且参数名称和属性名称一致,可以使用对象接受
@RequestMapping("/findUserByAS")
public List<User> findUserByAS(User user){
return userService.findUserByAS(user);
}
RestFul参数传递:1,单个参数使用@PathVariable integer id接受
2,如果多个参数接受,使用对象 mvc自动提供的功能
RequestMapping("/updateById/{id}/{name}/{age}/{sex}")
public String updateById(User user){
userSeverce.updateById(User);
return "用户修改成功"
}