更新時間:2021年05月25日15時13分 來源:傳智教育 瀏覽次數(shù):
<!-- 添加客戶信息 --> <insert id="addCustomer" parameterType="com.itheima.po.Customer"> insert into t_customer(username,jobs,phone) values(#{username},#{jobs},#{phone}) </insert>在上述配置代碼中,傳入的參數(shù)是一個Customer類型,該類型的參數(shù)對象被傳遞到語句中時,#{username}會查找參數(shù)對象Customer的username屬性(#{jobs}和#{phone}也是一樣),并將其的屬性值傳入到SQL語句中。為了驗證上述配置是否正確,下面編寫一個測試方法來執(zhí)行添加操作。
在測試類MybatisTest中,添加測試方法addCustomerTest(),其代碼如下所示。
/** * 添加客戶 */ @Test public void addCustomerTest() throws Exception{ // 1、讀取配置文件 String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); // 2、根據(jù)配置文件構建SqlSessionFactory SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); // 3、通過SqlSessionFactory創(chuàng)建SqlSession SqlSession sqlSession = sqlSessionFactory.openSession(); // 4、SqlSession執(zhí)行添加操作 // 4.1創(chuàng)建Customer對象,并向對象中添加數(shù)據(jù) Customer customer = new Customer(); customer.setUsername("rose"); customer.setJobs("student"); customer.setPhone("13333533092"); // 4.2執(zhí)行SqlSession的插入方法,返回的是SQL語句影響的行數(shù) int rows = sqlSession.insert("com.itheima.mapper" + ".CustomerMapper.addCustomer", customer); // 4.3通過返回結果判斷插入操作是否執(zhí)行成功 if(rows > 0){ System.out.println("您成功插入了"+rows+"條數(shù)據(jù)!"); }else{ System.out.println("執(zhí)行插入操作失?。。?!"); } // 4.4提交事務 sqlSession.commit(); // 5、關閉SqlSession sqlSession.close(); }
在上述代碼的第4步操作中,首先創(chuàng)建了Customer對象,并向Customer對象中添加了屬性值;然后通過SqlSession對象的insert()方法執(zhí)行插入操作,并通過該操作返回的數(shù)據(jù)來判斷插入操作是否執(zhí)行成功;最后通過SqlSesseion的commit()方法提交了事務,并通過close()方法關閉了SqlSession。
使用JUnit4執(zhí)行addCustomerTest()方法后,控制臺的輸出結果如圖1所示。
圖1 運行結果
從圖1可以看到,已經(jīng)成功插入了1條數(shù)據(jù)。為了驗證是否真的插入成功,此時查詢數(shù)據(jù)庫中的t_customer表,如圖2所示。
圖2 t_customer表
從圖2可以看出,使用MyBatis框架已成功新增了一條id為4的客戶信息。
猜你喜歡: