最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mybatis中注入執(zhí)行sql查詢、更新、新增及建表語句案例代碼

 更新時(shí)間:2023年02月13日 10:09:24   作者:專注寫bug  
這篇文章主要介紹了Mybatis中注入執(zhí)行sql查詢、更新、新增以及建表語句,主要說明一個(gè)另類的操作,注入sql,并使用mybatis執(zhí)行,結(jié)合案例代碼詳解講解,需要的朋友可以參考下

前言

在平時(shí)的項(xiàng)目開發(fā)中,mybatis應(yīng)用非常廣泛,但一般都是直接CRUD類型sql的執(zhí)行。

本片博客主要說明一個(gè)另類的操作,注入sql,并使用mybatis執(zhí)行。

案例

dao和mapper編寫

三層架構(gòu)中,dao層主要用于對數(shù)據(jù)庫的操作。當(dāng)項(xià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編寫

編寫一個(gè)與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ù)層代碼,進(jìn)行注入調(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);
	}
}

額外擴(kuò)展–創(chuàng)建表語句

如果想要使用mybatis執(zhí)行建表sql,此時(shí)可以這么寫:

	/**
     * 新增數(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>

【注意】

這里并不能直接進(jìn)行 ${cresteTableSql} 的執(zhí)行,必須寫成上面的這種方式,否則將不能成功!

到此這篇關(guān)于Mybatis中注入執(zhí)行sql查詢、更新、新增以及建表語句的文章就介紹到這了,更多相關(guān)Mybatis中注入執(zhí)行sql內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

阿合奇县| 都兰县| 鹿邑县| 乌鲁木齐县| 讷河市| 陆丰市| 达孜县| 郧西县| 福州市| 佛冈县| 奉化市| 湖北省| 乐平市| 东丽区| 吉林市| 青川县| 上饶县| 留坝县| 永修县| 溧水县| 拉萨市| 汤原县| 南部县| 北京市| 东台市| 沙雅县| 若羌县| 宾川县| 凉城县| 尉犁县| 河南省| 绥德县| 竹溪县| 密山市| 宕昌县| 贵德县| 前郭尔| 延寿县| 九龙县| 永嘉县| 三穗县|