黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 動態(tài)MyBatis創(chuàng)建表

動態(tài)MyBatis創(chuàng)建表

更新時間:2022-03-23 11:00:40 來源:動力節(jié)點 瀏覽4392次

1.動態(tài)添加表

映射器

int dropExistTable(@Param("tableName") String tableName);//自動創(chuàng)建數據表

映射文件

   <update id="dropExistTable" parameterType="string" statementType="STATEMENT"> 
                CREATE TABLE ${tableName} ( 
                `id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, 
                `name` varchar(100) DEFAULT NULL, 
                `password ` varchar(100) DEFAULT NULL, 
                `create_time` 時間戳 NULL 
                ) ENGINE=InnoDB DEFAULT CHARSET=utf8 
  </update>

控制器

    @RequestMapping("/createtable") 
    @ResponseBody 
    public String createTable(String tableName){ 
        Map<String, Object> reMap = new HashMap<String, Object>(); 
        int res = userService.dropExistTable(tableName); 
        if (res == 0) { 
            reMap.put("code",1); 
            reMap.put("msg"," 創(chuàng)建成功"); 
            logger.info("'tableNameString'+ 創(chuàng)建成功"); 
        }else{ 
            reMap.put("code",-1); 
            reMap.put("msg"," 創(chuàng)建失敗"); 
            logger.info("創(chuàng)建失敗"); 
        }
        返回 JSONUtil。獲取JSON(重新映射);
    }

添加屬性 statementType="STATEMENT"

同時將sql中因變量的值改為${xxxx},而不是#{xxx}

statementType:STATEMENT(未預編譯),PREPARED(預編譯)或CALLABLE中的任何一種,告訴你MyBatis單獨使用Statement,PreparedStatement或者CallableStatement。默認:準備。這里明顯沒有預編譯,要改成非預編譯..

${xxxx}:$直接在sql中生成傳入的數據,對于字符串數據,需要手動加引號

2.動態(tài)查詢數據表

List<User> selectTable(@Param("tableName") String tableName);

項目中 User 表為空,有動態(tài)創(chuàng)建的表結構,字段一致

映射文件 *mapper.xml

<select id="selectTable" parameterType="java.lang.String" resultMap="BaseResultMap" statementType="STATEMENT"> 
    select * from ${tableName}
  </選擇>

控制器

	@RequestMapping("/selectTable") 
	public String showSelectTable(String tableName){ 
		List<User> objects = userService.selecTable(tableName); 
		System.out.println("user::::"+objects); 
		logger.info("成功"); 
		返回 JSONUtil.getJSON(對象);
	}

#和$符號的區(qū)別

#{}代表占位符符號,可以實現preparedStatement給占位符設置值,自動加粗樣式java類型和jdbc類型轉換。#{}可以有效防止sql注入。#{}可以接受簡單類型值或 pojo 屬性值。如果 parameterType 傳遞一個單一的簡單類型值,#{} 可以是括號中的 value 或者其他一些名字。

${ } 表示拼接sql strand,通過 ${} 可以是 parameterType 傳入的內容在 sql 中拼接出來的 jdbc 類型轉換,可以接受簡單類型值或者 pojo 屬性值,如果 parameterType 傳遞單個簡單類型值,{可以接受簡單類型值或者 pojo 屬性值,如果 parameterType 傳遞單個簡單類型值,可以接受簡單類型值或者 pojo 屬性值,如果 parameterType 傳遞單個簡單類型值,{} 只能是括號內的值.

注意:關于 order by 下面的排序規(guī)則,表名等數據庫對象名,如果要傳入,還應該使用${……}

3.動態(tài)表數據添加

int insertTable(@Param("user")User user,@Param("tableName") String tableName);
insertTable() 方法中有兩個參數,一個參數是 tabelName ,另一個參數是 User object ,因此 <insert> 標簽中不能有...的參數Type參數,而是使用@Param(“”)來修飾,注意,
@Param 是 import org.apache.ibatis.annotations.Param;,不要誤導包。

映射器.xml

  <insert id="insertTable" >
  插入 ${tableName}(名稱、密碼、create_time)
  值(#{user.name}、#{user.password}、#{user.createTime})
  </插入>

控制器實現方法

@RequestMapping("/addTable") 
	@ResponseBody 
	public String addTable( String name,String password,String tableName){ 
		Map<String, Object> reMap = new HashMap<String, Object>(); 
		用戶用戶=新用戶();
		user.setName(name); 
		user.setPassword(密碼); 
		user.setCreateTime(new Date()); 
		System.out.println("傳入用戶參數"+user); 
		int res = userService.insertTable(user,tableName); 
		if (res > 0) { 
			reMap.put("code",1); 
			reMap.put("msg"," 成功 "); 
			logger.info("'tableNameString'+ 成功"); 
		}else{ 
			reMap.put("code",-1); 
			重新映射.put("
		}
		返回 JSONUtil.getJSON(reMap);
	}

通過以上介紹相信大家對動態(tài)MyBatis創(chuàng)建表的方法已經有所了解,大家如果對此比較感興趣,想了解更多相關知識,不妨來關注一下動力節(jié)點的Mybatis-Plus視頻教程,里面的課程內容由淺到深,通俗易懂,適合沒有基礎的小伙伴學習,希望對大家能夠有所幫助。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 成人网网址 | 中日韩欧美视频 | 日韩黄色网 | 爽爽爽爽爽爽爽太爽了免费观看 | 精品国模一区二区三区 | 欧美人成在线视频 | 亚洲成人网在线 | 夜夜拍拍 | 91短视频在线观看手机 | 特级毛片s级全部免费 | 一个人看的免费视频www中国 | 一级片生活片 | 欧美国产日本高清不卡免费 | 污污短视频 | 日韩综合在线 | 国产乱人伦精品一区二区 | 国产成人免费视频 | 在线不卡一区二区 | 12345国产精品高清在线 | 羞羞视频免费观看网站 | 最近2019年中文字幕一页 | 9191精品国产费久久 | 精品视频一区二区三区在线播放 | 欧美一级视频精品观看 | 成人激情视频网 | 一级黄色毛片视频 | 精品国产成人a在线观看 | 一本大道香蕉高清久久 | 波多野结衣在线一区二区 | 精品国产一区二区麻豆 | 中日韩视频在线看免费观看 | 生活片一级播放免费 | 欧美一级做一a做片性视频 欧美一级做性受 | 亚洲精品456在在线播放 | 国产免费一区二区三区 | 妞干网这里只有精品 | 26uuu精品一区二区 | 亚州激情视频在线播放 | 曰韩色视频 | 狠狠色狠狠色综合人人 | 国产精品系列在线一区 |