在 MyBatis 中,你可以在 XML 映射文件的 SQL 查询中直接使用 COALESCE
函数
- 首先,在你的数据库表中插入一些示例数据。例如,我们创建一个名为
users
的表:
CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(255), email VARCHAR(255) ); INSERT INTO users (name, email) VALUES ('张三', 'zhangsan@example.com'); INSERT INTO users (name, email) VALUES ('李四', NULL);
- 在你的 MyBatis 项目中,创建一个 User 类,用于映射查询结果:
public class User { private int id; private String name; private String email; // Getter 和 Setter 方法 }
- 在你的 MyBatis 映射文件(例如
UserMapper.xml
)中,编写一个使用COALESCE
函数的查询:
在这个例子中,我们使用 COALESCE
函数将 email
列的空值替换为默认值 'default@example.com'
。
- 创建一个 UserMapper 接口,用于与映射文件关联:
package com.example.mapper; import com.example.model.User; import java.util.List; public interface UserMapper { ListgetUsersWithDefaultEmail(); }
- 最后,在你的业务逻辑中调用
getUsersWithDefaultEmail
方法:
Listusers = userMapper.getUsersWithDefaultEmail(); for (User user : users) { System.out.println("ID: " + user.getId() + ", Name: " + user.getName() + ", Email: " + user.getEmail()); }
运行此代码,你将看到以下输出:
ID: 1, Name: 张三, Email: zhangsan@example.com ID: 2, Name: 李四, Email: default@example.com
这说明在 MyBatis 中成功使用了 COALESCE
函数。