mysql 表字段用大写还是小写好
时间: 2023-10-13 21:03:17 浏览: 290
在 MySQL 中,表字段的命名通常使用小写字母,并且单词之间使用下划线进行分隔,例如:`first_name`、`last_name`等。这是因为 MySQL 默认是不区分大小写的,使用小写字母可以避免一些不必要的麻烦。同时,也可以提高代码的可读性和可维护性。当然,选择使用大写字母也是可以的,但需要在代码中保证一致性。
相关问题
传来字段的值是小写,mysql字段里的值是大写,用mapper.xml怎么给他做匹配
如果你在Mapper XML文件中引用数据库表中的字段,并且这个字段的名称在数据库里是大写的,但是你传递给Mapper的方法的参数值(例如来自Java对象的属性)是小写,你可以通过以下几种方式解决这个问题:
1. **手动转换**:
在调用Mapper方法之前,将传入的参数转换成与数据库字段名称完全一致的大写形式。例如,在Java代码中这样做:
```java
String startDateInput = "startflightdate";
String convertedStartDate = startDateInput.toUpperCase(); // 或者使用 `startDateInput.toLowerCase()` 如果数据库字段是小写
List<TblScmTaskAirlineManagementVO> tasks = sqlSession.selectList("selectByStartDate", convertedStartDate);
```
2. **使用`databaseId`和`column`映射**:
在MyBatis中,你可以设置`databaseId`来指定某个`sqlSessionFactory`连接到的数据库,然后在`select`标签内明确指定`column`,如:
```xml
<select id="selectByStartDate" parameterType="string" resultMap="taskResultMap">
SELECT * FROM table
<if test="databaseId == 'uppercase_db'">USING Upper(column_name)</if>
WHERE column_name = #{startDate}
</select>
```
然后在需要的时候更改`databaseId`为`uppercase_db`。
3. **实体类属性修改**:
如果所有参数都可能有这种大小写差异,考虑调整数据库字段的命名规则,使其与Java对象属性保持一致,或者直接将Java对象的属性名字修改为数据库字段的大写形式。
记住,最佳实践是尽量保证数据的一致性和代码的清晰性,如果不是必要,建议数据库表字段与API接口、业务层和持久层之间的名称保持统一。
阅读全文