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 批量插入資料MyBatis
- MyBatis Plus 批量資料插入功能,yyds!MyBatis
- oracle批量插入資料Oracle
- 使用Mybatis批量插入大量資料的實踐MyBatis
- MyBatis中批量插入資料,多重forEach迴圈MyBatis
- java中批量插入資料jdbc hibernate Mybatis使用方式JavaJDBCMyBatis
- 使用MySqlBulkLoader批量插入資料MySql
- 大表資料插入批量提交
- 海量資料處理_批量插入
- SQL語句批量插入資料SQL
- SqlBulkCopy 複製批量插入資料SQL
- MySQL:JDBC批量插入資料的效率MySqlJDBC
- 插入大量資料速度慢的解決方法:批量插入
- Laravel 批量插入(如果資料存在刪除原資料)Laravel
- Mybatis批量插入Oracle、MySQLMyBatisOracleMySql
- Oracle批量插入資料insert all into用法Oracle
- 使用 【Ado.Net】 批量插入資料
- Redis從檔案中批量插入資料Redis
- MSSQL資料批量插入優化詳細SQL優化
- 向表中插入大批量資料
- 批量插入資料的儲存過程儲存過程
- Java MyBatis 插入資料庫返回主鍵JavaMyBatis資料庫
- Mybatis:插入資料返回自增主鍵MyBatis
- 使用SqlBulkCopy批量插入或遷移資料(轉)SQL
- 還用foreach在MyBatis批量插入資料,伺服器還沒崩?MyBatis伺服器
- python運算元據庫,批量插入資料庫資料Python資料庫
- mongodb 插入資料MongoDB
- mybatis oracle資料庫批次插入資料,忽略主鍵重複MyBatisOracle資料庫
- 資料庫批量插入這麼講究的麼?資料庫
- Java通過Mybatis實現批量插入資料到Oracle中JavaMyBatisOracle
- 後端開發:【批量插入海量資料之Java插入MySql】解決方案後端JavaMySql
- mongodb資料庫中插入資料MongoDB資料庫
- [MYSQL -19]插入資料MySql
- 資料插入問題。
- Oracle 插入大量資料Oracle
- JDBC 批量插入資料優化, 使用 addBatch 和 executeBatchJDBC優化BAT
- [Django高階之批量插入資料、分頁器元件]Django元件
- 批量插入資料時主鍵衝突的處理