mybatis执行原生sql
2023-09-27 14:29:10 时间
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打印SQL执行时间
- Mybatis:动态SQL分组查询
- 12 使用NavicatPremium 美化MyBatis的SQL语句
- MyBatis 逆向工程(自动生成mapper、dao、model等)
- tk mybatis通用mapper,复杂and or条件查询
- Mybatis操作原生sql
- mybatis-plus配置控制台打印完整带参数SQL语句
- mybatis-plus配置控制台打印完整带参数SQL语句
- 面试官问你MyBatis SQL是如何执行的?把这篇文章甩给他
- maven创建多模块项目fREemark+springMVC+mybatis+mybatis 自动生成
- MyBatis resultMap 与 sql
- mybatis动态sql foreach的用法
- Java学习-066-Mybatis + druid 报错: com.alibaba.druid.sql.parser.ParserException: syntax error, error in :'code LIKE "%"?"%"
- mybatis全局变量 (mybatis.configuration.variables) 的应用
- mybatis或hibernate框架连接数据库报错:java.sql.SQLException: No suitable driver或com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask无法实例化datasource
- mybatis或hibernate框架连接数据库报错:java.sql.SQLException: No suitable driver或No suitable driver found for http://maven.apache.org
- MyBatis 之一(概念、创建项目、操作模式、交互流程)
- 【MyBatis】分页插件PageHelper
- 【MyBatis】批量操作
- 半自动ORM—mybatis
- 【MySQL】Mybatis-Plus解决多数据源无法输出SQL语句的问题
- 曹工杂谈--使用mybatis的同学,进来看看怎么在日志打印完整sql吧,在数据库可执行那种
- Fun论设计模式之4:标准模式(Criteria Pattern)与MyBatis的Example原理
- mybatis 查询sql时foreach使用法