1. 配置 MyBatis 在 application.properties 中添加 MyBatis 的配置:
# mybatis配置
mybatis.config-location=classpath:mybatis-config.xml

src/main/resources 下新建 mybatis-config.xml 文件,配置 MyBatis:

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE configuration PUBLIC '-//mybatis.org//DTD Config 3.0//EN'
'http://mybatis.org/dtd/mybatis-3-config.dtd'>
<configuration>
    <typeAliases>
        <package name='com.example.demo.entity' />
    </typeAliases>
    <mappers>
        <mapper resource='mapper/UserMapper.xml' />
    </mappers>
</configuration>

其中,typeAliases 指定实体类所在的包名,mappers 指定 Mapper 文件的位置。

  1. 配置 Hive 数据源 在 application.properties 中添加 Hive 数据源的配置:
# hive数据源配置
spring.datasource.url=jdbc:hive2://localhost:10000/default
spring.datasource.driverClassName=org.apache.hive.jdbc.HiveDriver
  1. 编写 Mapper 文件 在 src/main/resources/mapper 下新建 UserMapper.xml 文件,编写 insert 语句:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE mapper PUBLIC '-//mybatis.org//DTD Mapper 3.0//EN'
    'http://mybatis.org/dtd/mybatis-3-mapper.dtd'>
<mapper namespace='com.example.demo.mapper.UserMapper'>
    <insert id='insertUser' parameterType='java.util.Map'>
        INSERT INTO user(id, name, age) VALUES (#{id}, #{name}, #{age})
    </insert>
</mapper>

其中,parameterType 指定参数类型为 Map<String, Object>

  1. 编写服务类 在 com.example.demo.service 下新建 UserService.java 文件,编写 insert 方法:
@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;

    public int insertUser(Map<String, Object> userMap) {
        return userMapper.insertUser(userMap);
    }
}
  1. 编写控制器 在 com.example.demo.controller 下新建 UserController.java 文件,编写 insert 方法:
@RestController
@RequestMapping('/user')
public class UserController {
    @Autowired
    private UserService userService;

    @PostMapping('/insert')
    public String insertUser(@RequestBody Map<String, Object> userMap) {
        int result = userService.insertUser(userMap);
        if (result > 0) {
            return 'success';
        } else {
            return 'fail';
        }
    }
}

其中,@PostMapping('/insert') 指定请求路径为 /user/insert@RequestBody 指定参数为请求体中的 JSON 数据。

  1. 测试 启动 Spring Boot 应用,使用 Postman 发送 POST 请求,请求路径为 http://localhost:8080/user/insert,请求体为 JSON 数据:
{
    'id': '1',
    'name': '张三',
    'age': 20
}

如果返回 success,则表示插入成功。

注:以上示例代码仅供参考,实际开发中需要根据自己的业务需求进行修改。

SpringBoot 使用 MyBatis 将 Map 数据插入 Hive 数据库:代码示例

原文地址: https://www.cveoy.top/t/topic/od3N 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录