目录
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对象@Autowiredprivate JdbcTemplate jdbcTemplate;//添加的方法,从实体类Book中传递对象进来@Overridepublic 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@Autowiredprivate 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);}}
结构:
测试结果: