JdbcTemplate(操作数据库-添加功能)

目录

JdbcTemplate(操作数据库-添加功能)

1.建立数据库表:

2.对应数据库创建实体类:

3.编写service 和 dao

(1)在 dao 层进行数据库添加操作

(2)具体:调用jdbcTemplate 对象里面 update 方法可以实现添加操作

(3)serveice层

         测试结果:

 

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

}

 

 

结构:

测试结果:

 

 

本文地址:https://blog.csdn.net/LBJ8888888/article/details/111708075

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐