mybatis执行原生sql
package com.lynch.asap.config.mapper;
import org.apache.ibatis.annotations.Param;
public interface SqlMapper {
void dynamicsInsert(@Param("paramSQL") String sql);
void dynamicsUpdate(@Param("paramSQL") String sql);
void dynamicsDelete(@Param("paramSQL") String sql);
}
<?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.lynch.asap.config.mapper.SqlMapper">
<insert id="dynamicsInsert">
${paramSQL}
</insert>
<insert id="dynamicsUpdate">
${paramSQL}
</insert>
<delete id="dynamicsDelete">
${paramSQL}
</delete>
</mapper>
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import com.yunping.asap.WebApplication;
import com.yunping.asap.config.DataSourceContext;
import com.yunping.asap.config.model.CfSerialClass;
@RunWith(SpringRunner.class)
@SpringBootTest(classes = WebApplication.class)
public class SqlMapperTest {
@Autowired
private SqlMapper sqlMapper;
@Test
public void dynamicsInsert() {
DataSourceContext.setRouterKey("asap-test1");
String sql = "INSERT INTO `cf_constant` (`cc_id`, `cc_code`, `cc_name`, `ccc_id`, `ccc_code`, `ap_stage`, `cc_key`, `cc_value`, `cc_sort`, `begin_time`, `end_time`, `cc_createtime`, `cc_creator`, `update_time`, `modifier`, `so_org`, `so_group`) VALUES ('aaaa', NULL, NULL, '4bf5d5ae2fa6450b916c854c73ad5171', 'FJLX', NULL, 'ht', '合同', NULL, NULL, NULL, '2019-06-06 14:08:22', NULL, '2019-06-06 14:08:23', NULL, '', NULL)";
sqlMapper.dynamicsInsert(sql);
}
@Test
public void dynamicsUpdate() {
DataSourceContext.setRouterKey("asap-test1");
String sql = "UPDATE `cf_constant` SET `cc_id`='aaaa', `cc_code`=NULL, `cc_name`=NULL, `ccc_id`='4bf5d5ae2fa6450b916c854c73ad5171', `ccc_code`='FJLX', `ap_stage`=NULL, `cc_key`='ht', `cc_value`='合同1111111111111111', `cc_sort`=NULL, `begin_time`=NULL, `end_time`=NULL, `cc_createtime`='2019-06-06 14:08:22', `cc_creator`=NULL, `update_time`='2019-06-06 14:08:23', `modifier`=NULL, `so_org`='', `so_group`=NULL WHERE (`cc_id`='aaaa')";
sqlMapper.dynamicsUpdate(sql);
}
@Test
public void dynamicsDelete() {
DataSourceContext.setRouterKey("asap-test1");
String sql = "delete from `cf_constant` where cc_id='aaaa'";
sqlMapper.dynamicsDelete(sql);
}
}
分类:
mybatis
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
2018-08-21 Eclipse搭建SpringBoot之HelloWorld
2018-08-21 spring-boot教程
2017-08-21 nginx反向代理如何获取真实IP?