需求:使用mybatis框架中的insert元素節點向數據庫中插入數據
UserMapper.xml
UserMapper.java
編寫測試方法:
1 @Test 2 public void testAddUser() throws ParseException { 3 SqlSession sqlSession = null; 4 User user=new User(); 5 user.setUserCode("admin"); 6 user.setAddress("中國河北省張家口市"); 7 user.setGender(1); 8 user.setUserName("小黑"); 9 user.setBirthday(new SimpleDateFormat("yyyy-MM-dd").parse("2019-10-24"));//注意要轉化成date類型的數據 10 user.setUserPassword("111111"); 11 int count=0;//返回受影響的行數 12 try { 13 sqlSession = MyBatisUtil.createSqlSession(); 14 //使用mapper映射的方式實現 15 //userList2 = sqlSession.selectList("cn.smbms.dao.user.UserMapper.getUserListByUserName",userNameString); 16 //調用mapper接口的方式實現 17 count= sqlSession.getMapper(UserMapper.class).addUser(user); 18 // int i=1/0;//模擬異常 后台日志打印出rolling back表示沒有插入成功,事務進行了回滾 19 mlogger.info("返回受影響的行數:" + count); 20 sqlSession.commit();//后台日志打印出rolling back表示沒有提交事務,事務進行了回滾,所以必須得提交事務才行 21 } catch (Exception e) { 22 // TODO: handle exception 23 } finally { 24 // 最后一定要注意:關閉會話 25 MyBatisUtil.closeSqlSession(sqlSession); 26 27 } 28 29 30 }
運行結果:
1 [DEBUG] 2019-11-04 23:10:17,824 org.apache.ibatis.datasource.pooled.PooledDataSource - Created connection 304840113. 2 [DEBUG] 2019-11-04 23:10:17,834 cn.smbms.dao.user.UserMapper.addUser - ooo Using Connection [com.mysql.jdbc.JDBC4Connection@122b7db1] 3 [DEBUG] 2019-11-04 23:10:17,834 cn.smbms.dao.user.UserMapper.addUser - ==> Preparing: insert into smbms_user(userName,userPassword,userCode,gender,birthday,address) values(?,?,?,?,?,?) 4 [DEBUG] 2019-11-04 23:10:17,944 cn.smbms.dao.user.UserMapper.addUser - ==> Parameters: 小黑(String), 111111(String), admin(String), 1(Integer), 2019-10-24 00:00:00.0(Timestamp), 中國河北省張家口市(String) 5 [INFO] 2019-11-04 23:10:17,954 cn.smbms.dao.test.UserMapperTest - 返回受影響的行數:1 6 [DEBUG] 2019-11-04 23:10:17,954 org.apache.ibatis.transaction.jdbc.JdbcTransaction - Committing JDBC Connection [com.mysql.jdbc.JDBC4Connection@122b7db1] 7 [DEBUG] 2019-11-04 23:10:17,954 org.apache.ibatis.transaction.jdbc.JdbcTransaction - Resetting autocommit to true on JDBC Connection [com.mysql.jdbc.JDBC4Connection@122b7db1] 8 [DEBUG] 2019-11-04 23:10:17,954 org.apache.ibatis.transaction.jdbc.JdbcTransaction - Closing JDBC Connection [com.mysql.jdbc.JDBC4Connection@122b7db1] 9 [DEBUG] 2019-11-04 23:10:17,954 org.apache.ibatis.datasource.pooled.PooledDataSource - Returned connection 304840113 to pool.