1. 程式人生 > 資料庫 >JdbcTemplate(操作資料庫-新增功能)

JdbcTemplate(操作資料庫-新增功能)

目錄

         


 

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);
    }

}

 

 

結構:

測試結果: