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-08intelij?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-10springboot統(tǒng)一異常處理(返回json)并格式化異常
這篇文章主要介紹了springboot統(tǒng)一異常處理(返回json)并格式化異常,對spring boot的默認異常處理方式進行修改,要統(tǒng)一返回數(shù)據(jù)格式,優(yōu)雅的數(shù)據(jù)交互,優(yōu)雅的開發(fā)應(yīng)用,需要的朋友可以參考下2023-07-07