5千字带你看弄Mybatis字段映射 - 驼峰式命名

本文详细探讨了Mybatis如何通过驼峰式命名开关将数据库列名映射到Java对象的字段。内容包括Mybatis处理ResultSet的过程,特别是在没有定义额外ResultMap时的映射方式,以及如何在内部实现列名到字段名的映射,特别是大小写不敏感的处理方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Mybatis在转换Result到需要的Java业务对象时做的三件事,如下:

  1. 解决了数据库列名到Java列名的映射。

  2. 解决了数据库类型到Java类型的转换工作。

  3. 在转换过程中具备一定的容错能力。

其实核心就是:

  1. 数据库中的列名怎么和对象中的字段对应起来。
  2. 数据库中的列的类型怎么转换到合适的Java类型,不引起转换失败。

今天我们先来看第一点,数据库中的列名怎么和对象中的字段对应起来。首先是日常PO(Persistant Object) CityPO,里面有五个字段。

public class CityPO {
   
	Integer id;
	Long cityId;
	String cityName;
	String cityEnName;
	String cityPyName;

本次要查询的数据库中的列名如下所示。

mysql> mysql> desc SU_City;
+--------------+-------------+------+-----+-------------------+-----------------------------+
| Field        | Type        | Null | Key | Default           | Extra                       |
+--------------+-------------+------+-----+-------------------+-----------------------------+
| id           | int(11)     | NO   | PRI | NULL              | auto_increment              |
| city_id      | int(11)     | NO   | UNI | NULL              |                             |
| city_name    | varchar(20) | NO   |     |                   |                             |
| city_en_name | varchar(20) | NO   |     |                   |                             |
| city_py_name | varchar(50) | NO   |     |                   |                             |
| create_time  | datetime    | NO   |     | CURRENT_TIMESTAMP |                             |
| updatetime   | d
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值