在之前的Javaweb学习中,学习了手动封装JdbcTemplate,其好处是通过(sql语句+参数)模板化了编程。而真正的JdbcTemplate类,是Spring框架为我们写好的。它是 Spring 框架中提供的一个对象,是对原始 Jdbc API 对象的简单封装。除了JdbcTemplate,spring 框架还为我们提供了很多的操作模板类。
一、使用配置文件配置数据源
1.在src下创建属性文件 jdbc.Properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql:///spring?useUnicode=true&characterEncoding=UTF-8
jdbc.username=root
jdbc.password=root
2.配置数据源
定义成员变量 DataSource、加载配置文件、获取DataSource
public class JDBCUtils {
//1.定义成员变量 DataSource
private static DataSource ds;
static{
try {
//1.加载配置文件
Properties pro = new Properties();
pro.load(JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties"));
//2.获取DataSource
ds = DruidDataSourceFactory.createDataSource(pro);
} catch (Exception e) {
e.printStackTrace();
}
}
}
二、JdbcTemplate 操作数据库(添加)
步骤:
1.创建数据库对应实体类
数据库字段名对应实体类属性
public class Book {
private String userid;
private String username;
private String ustatus;
public String getUserid() {
return userid;
}
public String getUsername() {
return username;
}
public String getUstatus() {
return ustatus;
}
public void setUserid(String userid) {
this.userid = userid;
}
public void setUsername(String username) {
this.username = username;
}
public void setUstatus(String ustatus) {
this.ustatus = ustatus;
}
}
2.定义BookDAO接口
public interface BookDao {
//添加(增)
public void add(Book book);
}
3.书写BookDAO实现类:BookDAOImpl
创建JdbcTemplate对象并重写add()方法
public class BookDaoImp implements BookDao{
private JdbcTemplate jdbcTemplate;
@Override
public void add(Book book) {
String addsql = "insert into Book values(?,?,?)";
Object[] args = {book.getUserid(), book.getUsername(), book.getUstatus()};
int update = jdbcTemplate.update(addsql,args);//返回值update代表添加了几行
System.out.println(update);//1
}
}
4.创建BookService类
public class BookService {
private BookDao bookDao;
public void addBook(Book book){
bookDao.add(book);
}
}
也可以先创建BookService接口再书写它的实现类。
5.测试 :获取BookService类的对象bookService,调用addBook(book)。
public class JDBCTest {
@Test
public void test(){
BookService bookService = new BookService;
Book book = new Book();
book.setUserid("1");
book.setUsername("java");
book.setUstatus("active");
bookService.addBook(book);
}
}