Mybatis中注入执行sql查询、更新、新增及建表语句案例代码

这篇文章主要介绍了Mybatis中注入执行sql查询、更新、新增以及建表语句,主要说明一个另类的操作,注入sql,并使用mybatis执行,结合案例代码详解讲解,需要的朋友可以参考下

前言

在平时的项目开发中,mybatis应用非常广泛,但一般都是直接CRUD类型sql的执行。

本片博客主要说明一个另类的操作,注入sql,并使用mybatis执行

案例

dao和mapper编写

三层架构中,dao层主要用于对数据库的操作。当项目配置好数据库的连接配置后,在dao层中可以编写如下的接口

import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @Mapper @Repository public interface CommonSqlMapper { /** * 根据注入的sql,新增数据 * @param sql */ void insertData(@Param(value = "sql") String sql); /** * 根据注入的sql,更新数据 * @param sql * @return */ Integer updateData(@Param(value = "sql") String sql); /** * 依据条件,查询满足条件的所有数据集信息 * @param selectSql * @return */ List queryData(@Param(value = "selectSql")  String selectSql); }

XXXmapper.xml编写

编写一个与CommonSqlMapper.java与之对应映射的CommonSqlMapper.xml文件,其中可以对对应的方法,编写如下的sql:

   ${sql}  ${sql} 

编写业务层代码,进行注入调用

@Service public class TestService{ @Autowired private CommonSqlMapper commonSqlMapper; public void test(){ String sql = "select * from xj_test where name = 'xj'"; commonSqlMapper.queryData(sql); } }

额外扩展–创建表语句

如果想要使用mybatis执行建表sql,此时可以这么写:

	/** * 新增数据表 * @param tableName 表名称 * @param rowSql 表字段拼接sql */ void createTable(@Param(value = "tableName") String tableName,@Param(value = "rowSql") String rowSql);

对应的xxxx.xml中,编写如下语句:

 create table ${tableName} ( id VARCHAR2(32) NOT NULL, ${rowSql}, PRIMARY KEY (id) ) 

【注意】

这里并不能直接进行 ${cresteTableSql} 的执行,必须写成上面的这种方式,否则将不能成功!

到此这篇关于Mybatis中注入执行sql查询、更新、新增以及建表语句的文章就介绍到这了,更多相关Mybatis中注入执行sql内容请搜索0133技术站以前的文章或继续浏览下面的相关文章希望大家以后多多支持0133技术站!

以上就是Mybatis中注入执行sql查询、更新、新增及建表语句案例代码的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » Java