Spring 框架对 JDBC 进行封装,使用 JdbcTemplate 方便实现对数据库操作











bean.xml:
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
destroy-method="close">
<property name="url" value="jdbc:mysql:///user_db" />
<property name="username" value="admin" />
<property name="password" value="123456" />
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"/>
bean>

bean.xml:
<context:component-scan base-package="com.company.JdbcTemplate">context:component-scan>

Service:BookService
package com.company.JdbcTemplate.service;
import com.company.JdbcTemplate.dao.BookDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class BookService {
//注入 dao
@Autowired
private BookDao bookDao;
}
Dao:BookDaoImpl
package com.company.JdbcTemplate.dao;
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;
}

package com.company.JdbcTemplate.entity;
public class Book {
private String userId;
private String userName;
private String userStatus;
public void setUserId(String userId) {
this.userId = userId;
}
public void setUserName(String userName) {
this.userName = userName;
}
public void setUserStatus(String userStatus) {
this.userStatus = userStatus;
}
public String getUserId() {
return userId;
}
public String getUserName() {
return userName;
}
public String getUserStatus() {
return userStatus;
}
}
(1)在 dao 进行数据库添加操作
dao :
service:
package com.company.JdbcTemplate.service;
import com.company.JdbcTemplate.dao.BookDao;
import com.company.JdbcTemplate.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);
}
}
package com.company.JdbcTemplate.dao;
import com.company.JdbcTemplate.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;
@Override
public void add(Book book) {
//1 创建 sql 语句
String sql = "insert into t_book values(?,?,?)";
//2 调用方法实现
Object[] args = {book.getUserId(), book.getUserName(),
book.getUserStatus()};
int update = jdbcTemplate.update(sql, args);
System.out.println(update);
}
}
package com.company.JdbcTemplate;
import com.company.JdbcTemplate.entity.Book;
import com.company.JdbcTemplate.service.BookService;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class testDao {
@Test
public void testJdbcTemplate() {
ApplicationContext context =
new ClassPathXmlApplicationContext("bean.xml");
BookService bookService = context.getBean("bookService",
BookService.class);
Book book = new Book();
book.setUserId("1");
book.setUserName("java");
book.setUserStatus("a");
bookService.addBook(book);
}
}