mybatis连接数据库开启驼峰命名
时间: 2023-06-17 17:06:36 浏览: 73
在 MyBatis 中开启驼峰命名可以通过配置文件进行设置。
1.在 `mybatis-config.xml` 中添加如下配置:
```xml
<configuration>
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
</configuration>
```
2.在 `mapper.xml` 中使用驼峰命名方式进行 SQL 语句的编写,MyBatis 会自动将下划线风格的列名转换成驼峰式的属性名。
例如,数据库中的表和列名为 `user_info` 和 `user_name`,在 mapper.xml 中可以这样写:
```xml
<select id="getUserByName" resultType="User">
select * from user_info where user_name = #{userName}
</select>
```
这里注意,resultType 必须要与实体类的类名一致,才能自动映射。同时,SQL 语句中的 `user_name` 会自动转换成实体类中的 `userName` 属性。
相关问题
mybatis返回map不是驼峰命名
Mybatis返回的Map对象中的key值默认情况下是数据库列名字母全小写,若数据库列名采用的是下划线命名规则,则Map中的key值也会采用下划线分割的方式。这是因为Mybatis在映射数据库结果集时,对列名采用了一种简单的转换策略。
要解决Mybatis返回的Map不是驼峰命名的问题,可以通过两种方式来处理:
1.设置Mybatis全局配置属性:将mapUnderscoreToCamelCase设置为true。这样Mybatis在解析结果集时,会将下划线分割的列名转换为驼峰命名的key值。
示例代码如下:
```xml
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
```
2.使用ResultMap映射结果集:在Mapper.xml中通过ResultMap配置来显式指定每个字段的映射关系,可以设置自定义的key值。这样返回的Map中的key值就会按照我们预期的驼峰命名规则。
示例代码如下:
```xml
<resultMap id="resultMap" type="java.util.HashMap">
<id column="user_id" property="userId"/>
<result column="user_name" property="userName"/>
</resultMap>
<select id="getUser" resultMap="resultMap">
SELECT user_id, user_name FROM users WHERE user_id = #{userId}
</select>
```
通过以上两种方式,我们可以灵活地解决Mybatis返回的Map不是驼峰命名的问题。
mybatis中如何设置驼峰命名转换
在 MyBatis 中,可以通过在 mybatis-config.xml 文件中配置一个名为“org.apache.ibatis.type.Alias”的 TypeAliasRegistry 对象,来实现驼峰命名转换。具体步骤如下:
1.在 mybatis-config.xml 文件中添加以下配置:
```
<typeAliases>
<package name="com.example.pojo"/>
</typeAliases>
```
2.在 POJO 类中使用 @Alias 注解指定别名,如:
```
@Alias("user")
public class User {
private Long id;
private String userName;
private String password;
//...
}
```
3.在 SQL 映射文件中使用别名:
```
<select id="getUser" resultMap="userResultMap">
SELECT id, user_name AS userName, password FROM user WHERE id = #{id}
</select>
<resultMap id="userResultMap" type="com.example.pojo.User">
<id property="id" column="id" />
<result property="userName" column="userName" />
<result property="password" column="password" />
<!-- ... -->
</resultMap>
```
这样,MyBatis 在映射结果集时会自动将数据库中的下划线命名转换为驼峰命名,以便与 POJO 类的属性名称匹配。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)