mybatis插入資料、批量插入資料
一、 mybatis插入一條資料
1. UserMapper.java介面中插入函式如下:
/* * 新增使用者-----使用useGeneratedKeys方式 * 測試主鍵自增的值 這裡 主鍵自增的值不作為引數傳遞 直接由資料庫那邊賦值 * */ int insert4(SysUser sysUser);
2. UserMapper.xml中insert4函式如下:
<insert id="insert4" useGeneratedKeys="true" keyProperty="id"> insert into sys_user ( user_name,user_password, <if test="userEmail != null and userEmail !=''"> user_email, </if> user_info,head_img,create_time) values ( #{userName}, #{userPassword}, <if test="userEmail != null and userEmail !=''"> #{userMail}, </if> #{userInfo},#{headImg, jdbcType = BLOB}, #{createTime, jdbcType= TIMESTAMP} ); </insert>
3. 測試函式如下:
@Test public void testInsert4(){ SqlSession sqlSession = getSqlSession(); try{ UserMapper userMapper = sqlSession.getMapper(UserMapper.class); //建立一個user物件 SysUser user = new SysUser(); user.setUserName("test1"); user.setUserPassword("123456"); user.setUserEmail("test@mybatis.tk"); user.setUserInfo("test info"); user.setHeadImg(new byte[]{1,2,3}); user.setCreateTime(new Date()); int result = userMapper.insert3(user); Assert.assertEquals(1,result); Assert.assertNotNull(user.getId()); }finally { sqlSession.commit(); sqlSession.close(); } }
4. 執行結果如下:
二、 mybatis批量插入資料
1. 介面如下:
/* * 批量插入使用者資訊 * */ int insertList(ListuserList);
2. xml檔案中:
<insert id="insertList"> insert into sys_user(user_name,user_password, user_email,user_info,head_img,create_time) values <foreach collection="list" item="user" separator=","> #{user.userName},#{user.userPassword}, #{user.userEmail},#{user.userInfo}, #{user.headImg ,jdbcType = BLOB}, #{user.createTime, jdbcType = TIMESTAMP} </foreach> </insert>
注:foreach標籤
collection:值為要迭代迴圈的屬性名。
item:變數名,值為從法代物件中取出的每一個值。
index:索引的屬性名,在集合陣列情況下值為當前索引值 當選代迴圈的物件是 Map型別時,這個值為 Map key (鍵值)。
3. 測試函式如下:
@Test public void testInsertList(){ SqlSession sqlSession = getSqlSession(); try { UserMapper userMapper = sqlSession.getMapper(UserMapper.class); ListuserList = new ArrayList(); for(int i=0 ; i<2 ; i++){ SysUser sysUser = new SysUser(); sysUser.setUserName("test_" + i); sysUser.setUserPassword("123456"); sysUser.setUserEmail("wct@qq.com"); } int result = userMapper.insertList(userList); Assert.assertEquals(2,result); }finally { sqlSession.close(); } }
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2846448/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MyBatis Plus 批量資料插入功能,yyds!MyBatis
- MyBatis中批量插入資料,多重forEach迴圈MyBatis
- 使用Mybatis批量插入大量資料的實踐MyBatis
- mybatis 批次插入資料MyBatis
- 使用MySqlBulkLoader批量插入資料MySql
- Oracle批量插入資料insert all into用法Oracle
- 使用 【Ado.Net】 批量插入資料
- MySQL:JDBC批量插入資料的效率MySqlJDBC
- Laravel 批量插入(如果資料存在刪除原資料)Laravel
- 還用foreach在MyBatis批量插入資料,伺服器還沒崩?MyBatis伺服器
- Mybatis:插入資料返回自增主鍵MyBatis
- Java MyBatis 插入資料庫返回主鍵JavaMyBatis資料庫
- JDBC 批量插入資料優化, 使用 addBatch 和 executeBatchJDBC優化BAT
- mybatis oracle資料庫批次插入資料,忽略主鍵重複MyBatisOracle資料庫
- Java通過Mybatis實現批量插入資料到Oracle中JavaMyBatisOracle
- [Django高階之批量插入資料、分頁器元件]Django元件
- mongodb資料庫中插入資料MongoDB資料庫
- python如何將資料插入資料庫Python資料庫
- mysql插入資料時如果有相同資料就不插入或者替換MySql
- C++ Vector資料插入C++
- 【MyBatis】幾種批量插入效率的比較MyBatis
- .NET 資料庫大資料 方案(插入、更新、刪除、查詢 、插入或更新)資料庫大資料
- MySQL 資料庫表格建立、資料插入及獲取插入的 ID:Python 教程MySql資料庫Python
- eazyexcel 讀取excel資料插入資料庫Excel資料庫
- python資料插入連線MySQL資料庫PythonMySql資料庫
- mybatis+oracle 批次插入多條資料的處理方法MyBatisOracle
- Mysql在資料插入後立即獲取插入的IdMySql
- 順序表有序插入資料
- mysql避免插入重複資料MySql
- [20190104]bbed手工插入資料.txt
- MySQL 如何實現資料插入MySql
- 分庫分表插入資料
- 通過append hint來插入資料,演示它和普通插入資料的效能比較。APP
- Firedac 在資料表中插入BLOB資料的方法
- kettle 實時同步資料(插入/更新/刪除資料)
- 【PHP資料結構】插入類排序:簡單插入、希爾排序PHP資料結構排序
- 使用 Python 字典向 SQLite 插入資料PythonSQLite
- 19. 使用MySQL之插入資料MySql