Mybatis中注入執(zhí)行sql查詢、更新、新增及建表語句案例代碼
前言
在平時的項目開發(fā)中,mybatis應(yīng)用非常廣泛,但一般都是直接CRUD類型sql的執(zhí)行。
本片博客主要說明一個另類的操作,注入sql,并使用mybatis執(zhí)行。
案例
dao和mapper編寫
三層架構(gòu)中,dao層主要用于對數(shù)據(jù)庫的操作。當(dāng)項目配置好數(shù)據(jù)庫的連接配置后,在dao層中可以編寫如下的接口。
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface CommonSqlMapper {
/**
* 根據(jù)注入的sql,新增數(shù)據(jù)
* @param sql
*/
void insertData(@Param(value = "sql") String sql);
/**
* 根據(jù)注入的sql,更新數(shù)據(jù)
* @param sql
* @return
*/
Integer updateData(@Param(value = "sql") String sql);
/**
* 依據(jù)條件,查詢滿足條件的所有數(shù)據(jù)集信息
* @param selectSql
* @return
*/
List<MakeUpDataPo> queryData(@Param(value = "selectSql") String selectSql);
}XXXmapper.xml編寫
編寫一個與CommonSqlMapper.java與之對應(yīng)映射的CommonSqlMapper.xml文件,其中可以對對應(yīng)的方法,編寫如下的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.xxx.xxx.CommonSqlMapper">
<!-- 修改 -->
<update id="updateData" >
${sql}
</update>
<!-- 新增 -->
<insert id="insertData">
${sql}
</insert>
<!-- 查詢所有 -->
<select id="queryData" resultType="com.xxx.xxx.po.MakeUpDataPo">
${selectSql}
</select>
</mapper>編寫業(yè)務(wù)層代碼,進行注入調(diào)用
@Service
public class TestService{
@Autowired
private CommonSqlMapper commonSqlMapper;
public void test(){
String sql = "select * from xj_test where name = 'xj'";
commonSqlMapper.queryData(sql);
}
}額外擴展–創(chuàng)建表語句
如果想要使用mybatis執(zhí)行建表sql,此時可以這么寫:
/**
* 新增數(shù)據(jù)表
* @param tableName 表名稱
* @param rowSql 表字段拼接sql
*/
void createTable(@Param(value = "tableName") String tableName,@Param(value = "rowSql") String rowSql);對應(yīng)的xxxx.xml中,編寫如下語句:
<!-- 創(chuàng)建表 -->
<insert id="createTable" statementType="STATEMENT">
create table ${tableName} (
id VARCHAR2(32) NOT NULL,
${rowSql},
PRIMARY KEY (id)
)
</insert>【注意】
這里并不能直接進行 ${cresteTableSql} 的執(zhí)行,必須寫成上面的這種方式,否則將不能成功!
到此這篇關(guān)于Mybatis中注入執(zhí)行sql查詢、更新、新增以及建表語句的文章就介紹到這了,更多相關(guān)Mybatis中注入執(zhí)行sql內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Mybatis日期格式自動轉(zhuǎn)換需要用到的兩個注解說明
這篇文章主要介紹了Mybatis日期格式自動轉(zhuǎn)換需要用到的兩個注解說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08
intelij?idea?2023創(chuàng)建java?web項目的完整步驟
這篇文章主要給大家介紹了關(guān)于intelij?idea?2023創(chuàng)建java?web項目的完整步驟,該教學(xué)主要針對各位剛剛接觸javaweb開發(fā)的小伙伴,各位學(xué)習(xí)java的朋友也難免會經(jīng)歷這個階段,需要的朋友可以參考下2023-10-10
springboot統(tǒng)一異常處理(返回json)并格式化異常
這篇文章主要介紹了springboot統(tǒng)一異常處理(返回json)并格式化異常,對spring boot的默認(rèn)異常處理方式進行修改,要統(tǒng)一返回數(shù)據(jù)格式,優(yōu)雅的數(shù)據(jù)交互,優(yōu)雅的開發(fā)應(yīng)用,需要的朋友可以參考下2023-07-07

