JdbcTemplate(操作資料庫-新增功能)
阿新 • • 發佈:2020-12-31
目錄
JdbcTemplate(操作資料庫-新增功能)
1.建立資料庫表:
使用者ID,使用者名稱
2.對應資料庫建立實體類:
Book類對應資料庫的t_book表的資料,每一個屬性就是一條記錄
3.編寫service 和 dao
(1)在 dao 層進行資料庫新增操作
步驟一:介面層
package org.example.spring.dao; import org.example.spring.entity.Book; public interface BookDao { //新增的方法 void add(Book book); }
步驟二:實現層
實現層裡面實現jdbcTemplate物件的注入,重寫介面層方法,在重寫方法內寫入mysql語句,通過jdbcTemplate.updata方法實現資料新增。
package org.example.spring.dao; import org.example.spring.entity.Book; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Repository; @Repository public class BookDaoImpl implements BookDao{ //注入jdbcTemplate物件 @Autowired private JdbcTemplate jdbcTemplate; //新增的方法,從實體類Book中傳遞物件進來 @Override public void add(Book book) { //1.建立sql語句 String sql="insert into t_book values(?,?)"; //2.呼叫方法實現 //3.引數是可變引數,是一個數組形式,因此存在一種變式 // int update = jdbcTemplate.update(sql, book.getUserId(), book.getUsername()); //變式為 Object[] args= {book.getUserId(), book.getUsername()}; int update = jdbcTemplate.update(sql, args); //輸出影響的值 System.out.println(update); } }
(2)具體:呼叫jdbcTemplate 物件裡面 update 方法可以實現新增操作
update中有兩個引數:
第一個引數:編寫的sql語句
第二個引數:可變引數,設定sql 語句值
過程其實很簡單:其實就是呼叫jdbcTemplate中的update方法,通過update方法中的兩個引數建立sql語句以及引數引入
(3)serveice層
service 層呼叫dao 層的bookDao物件(實現依賴於抽象)
package org.example.spring.service; import org.example.spring.dao.BookDao; import org.example.spring.entity.Book; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class BookService { //注入dao @Autowired private BookDao bookDao; //新增的方法 public void addBook(Book book){ bookDao.add(book); } }
4.測試類:
package org.example.spring.test;
import org.example.spring.entity.Book;
import org.example.spring.service.BookService;
import org.junit.jupiter.api.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestBook
{
public static void main(String[] args){
ApplicationContext context=
new ClassPathXmlApplicationContext("bean1.xml");
BookService bookService = context.getBean("bookService", BookService.class);
//因為沒有寫到頁面資料,所以直接通過new物件實現
Book book=new Book();
book.setUserId("1");
book.setUsername("abc");
bookService.addBook(book);
}
}
結構:
測試結果: