亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

MyBatis動態創建表的實例代碼

2024-07-14 08:41:30
字體:
來源:轉載
供稿:網友

項目中業務需求的不同,有時候我們需要動態操作數據表(如:動態建表、操作表字段等)。常見的我們會把日志、設備實時位置信息等存入數據表,并且以一定時間段生成一個表來存儲,log_201806、log_201807等。在這里我們用MyBatis實現,會用到動態SQL。

動態SQL是Mybatis的強大特性之一,MyBatis在對sql語句進行預編譯之前,會對sql進行動態解析,解析為一個BoundSql對象,也是在此對動態sql進行處理。

在動態sql解析過程中,#{ }與${ }的效果是不一樣的:

#{ } 解析為一個JDBC預編譯語句(prepared statement)的參數標記符。

如以下sql語句:

select * from user where name = #{name};

會被解析為:

select * from user where name = ?;

可以看到#{ }被解析為一個參數占位符 ? 。

${ } 僅僅為一個純粹的String替換,在動態SQL解析階段將會進行變量替換。

如以下sql語句:

select * from user where name = ${name};

當我們傳遞參數“joanna”時,sql會解析為:

select * from user where name = “joanna”;

可以看到預編譯之前的sql語句已經不包含變量name了。

綜上所述,${ }的變量的替換階段是在動態SQL解析階段,而#{ } 的變量的替換是在DBMS中。

下面實現MyBatis動態創建表,判斷表是否存在,刪除表功能。

Mapper.xml

<?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="xx.xxx.xx.mapper.OperateTableMapper" >  <select id="existTable" parameterType="String" resultType="Integer">     select count(*)     from information_schema.TABLES     where LCASE(table_name)=#{tableName}   </select>  <update id="dropTable">     DROP TABLE IF EXISTS ${tableName}   </update>   <update id="createNewTable" parameterType="String">     CREATE TABLE ${tableName} (     id bigint(20) NOT NULL AUTO_INCREMENT,     entityId bigint(20) NOT NULL,     dx double NOT NULL,     dy double NOT NULL,     dz double NOT NULL,     ntype varchar(32) NOT NULL,     gnssTime bigint(20) NOT NULL,     speed float DEFAULT NULL,     direction float DEFAULT NULL,     attributes varchar(255) DEFAULT NULL,     PRIMARY KEY (id))   </update>   <insert id="insert" parameterType="xx.xxx.xx.po.Trackpoint">    insert into ${tableName}    (entityId,dx,dy,dz,ntype,gnssTime,speed,direction,attributes)    values    (#{trackpoint.entityid},    #{trackpoint.dx},    #{trackpoint.dy},    #{trackpoint.dz},    #{trackpoint.ntype},    #{trackpoint.gnsstime},    #{trackpoint.speed},    #{trackpoint.direction},    #{trackpoint.attributes})  </insert></mapper>

Mapper.java

package xx.xxx.xx.mapper;

import org.apache.ibatis.annotations.Param;import xx.xxx.xx.po.Trackpoint;public interface OperateTableMapper {  int existTable(String tableName);  int dropTable(@Param("tableName")String tableName);  int createNewTable(@Param("tableName")String tableName);  int insert(@Param("tableName")String tableName,@Param("trackpoint")Trackpoint trackpoint);}

總結

以上所述是小編給大家介紹的MyBatis動態創建表的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美老肥婆性猛交视频| 国产91免费观看| 欧洲成人在线视频| 欧美夜福利tv在线| 精品人伦一区二区三区蜜桃免费| 91性高湖久久久久久久久_久久99| 在线播放精品一区二区三区| 日韩国产精品视频| 国产久一一精品| 久久精品国产久精国产思思| 日韩中文字幕在线观看| 91免费在线视频网站| 欧美一级片免费在线| 国产日本欧美一区二区三区| 国产精品大片wwwwww| 亚洲欧美资源在线| 成人在线小视频| 国产精品视频xxx| 国产精品黄页免费高清在线观看| 日韩资源在线观看| 日韩精品高清视频| 国产精品久久久久久久久久久久| 伊人青青综合网站| 欧美大胆在线视频| 国产香蕉精品视频一区二区三区| 中文字幕日韩视频| 国产成人精品在线| 蜜臀久久99精品久久久无需会员| 亚洲最大福利网站| 日韩精品福利在线| 亚洲日韩中文字幕在线播放| 亚洲国产精品专区久久| 51午夜精品视频| 欧美一级黑人aaaaaaa做受| 国产精品h在线观看| 国产九九精品视频| 国产成人福利夜色影视| 国产一区二区三区视频| 欧美激情一二区| 伊人青青综合网站| 亚洲精品久久久一区二区三区| 久久精品91久久久久久再现| 欧美激情综合色综合啪啪五月| 9.1国产丝袜在线观看| 亚洲人在线视频| www.99久久热国产日韩欧美.com| 欧美激情一区二区三区高清视频| 久久色精品视频| 啊v视频在线一区二区三区| 亚洲最大福利网| 亚洲欧洲一区二区三区久久| 国产精品久久久久久中文字| 欧美人交a欧美精品| 欧美剧在线观看| 秋霞av国产精品一区| 国产综合在线观看视频| 奇米四色中文综合久久| 久久久免费电影| 中文字幕av一区中文字幕天堂| 国产日韩中文字幕在线| 国产婷婷成人久久av免费高清| 国产高清视频一区三区| 亚洲欧美一区二区精品久久久| 国产一区二区丝袜高跟鞋图片| 欧美激情久久久久久| 国产精品18久久久久久麻辣| 91福利视频在线观看| 色综合久久久888| 日韩一级裸体免费视频| 亚洲综合第一页| 9.1国产丝袜在线观看| 97在线视频一区| 亚洲综合精品一区二区| 在线电影av不卡网址| 久久久精品久久久久| 欧美高跟鞋交xxxxhd| 亚洲电影免费观看高清完整版| 中文字幕日韩在线视频| 成人国产精品一区二区| 91国内免费在线视频| 久久免费视频在线| 欧美激情视频免费观看| 成人国产精品免费视频| 亚洲色图狂野欧美| 中文字幕无线精品亚洲乱码一区| 欧美日韩中文字幕综合视频| 欧美在线视频一区| 日韩视频免费在线观看| 国产精品∨欧美精品v日韩精品| 人体精品一二三区| 97精品伊人久久久大香线蕉| 亚洲欧美另类人妖| 亚洲免费电影在线观看| 国产精品香蕉在线观看| 欧美激情视频一区二区| 亚洲白拍色综合图区| 国产丝袜一区二区三区免费视频| 国产成人免费91av在线| 日韩欧美在线免费观看| 国产精品久久久久久久久久东京| 国产一区二区三区直播精品电影| 欧美日韩国产综合视频在线观看中文| 国产91成人在在线播放| 欧美在线免费看| 亚洲精品wwww| 欧美伊久线香蕉线新在线| 欧美日韩在线视频观看| 国产精品久久久久免费a∨大胸| 国产精品福利网站| 国内精品在线一区| 国产精品一区二区三区免费视频| 亚洲社区在线观看| 国产一区二区在线免费| 久久久久中文字幕| 77777少妇光屁股久久一区| 国产精品igao视频| 亚洲韩国青草视频| 欧美一级大片在线免费观看| 亚洲小视频在线| 亚洲精品98久久久久久中文字幕| 国产精品91视频| 欧美整片在线观看| 日韩免费在线视频| 亚洲午夜女主播在线直播| 成人福利网站在线观看| 久久天天躁狠狠躁老女人| 插插插亚洲综合网| 亚洲一区二区免费在线| 久久综合久久美利坚合众国| 国产美女被下药99| 91中文字幕在线观看| 久久久久久这里只有精品| 一色桃子一区二区| 亚洲aⅴ男人的天堂在线观看| 欧美日韩成人黄色| 国产98色在线| 久热爱精品视频线路一| 欧美激情精品久久久久久黑人| 欧美激情第三页| 亚洲激情视频在线观看| 日韩美女激情视频| 91精品久久久久| 日韩经典第一页| 亚洲天堂成人在线视频| 操91在线视频| 国产精品成人一区二区三区吃奶| 久久久久日韩精品久久久男男| 亚洲欧美日韩中文视频| 欧美日本亚洲视频| 久久亚洲精品小早川怜子66| 国产精品久久久久7777婷婷| 国产精品免费看久久久香蕉| 亚洲国产精彩中文乱码av在线播放| 久久全球大尺度高清视频| 91精品啪aⅴ在线观看国产| 亚洲电影中文字幕| 国产不卡一区二区在线播放| 久久久亚洲影院你懂的| 国产精品 欧美在线| 欧美日韩国产999| 亚洲一品av免费观看| 欧美精品做受xxx性少妇| 国产亚洲精品高潮| 精品国产一区二区三区在线观看|