您的位置:首页 > 编程语言 > Java开发

使用Spring JdbcTemplate实现数据库操作

2016-10-15 12:05 288 查看

一:Spring JdbcTemplate是干啥的呢?

JdbcTemplate是core包的核心类。它替我们完成了资源的创建以及释放工作,从而简化了我们对JDBC的使用。它还可以帮助我们避免一些常见的错误,比如忘记关闭数据库连接。JdbcTemplate将完成JDBC核心处理流程,比如SQL语句的创建、执行,而把SQL语句的生成以及查询结果的提取工作留给我们的应用代码。它可以完成SQL查询、更新以及调用存储过程,可以对ResultSet进行遍历并加以提取。

二:首先我们先了解的知识

1. Spring JDBC由4个部分组成,即core、datasource、object、support。

(1)core包:提供JDBC模板类,其中JdbcTemplate是core包的核心类。

(2)datesource包:提供简化访问JDBC数据源工具类,并提供一些DataSource简单实现类,从而使这些DataSource获取的连接能自动得到Spring事务管理的支持。

(3)object包:提供关系数据的对象表示形式,如MappingSqlQuery、SqlUpdate、SqlCall、SqlFunction等。

(4)support包:提供将JDBC异常转换为DAO非检查异常的转化类和一些工具类。

2. JdbcTemplate主要提供以下五类方法:

execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句;

update方法及batchUpdate方法:update方法用于执行新增、修改、删除等语句;batchUpdate方法用于执行批处理相关语句;

query方法及queryForXXX方法:用于执行查询相关语句;

call方法:用于执行存储过程、函数相关语句。

想要了解大家可以去查API,这里就不做多的解释了

三:几个使用经典案例

package cn.book.test;
//测试类
import java.util.List;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import cn.book.beans.Book;
import cn.book.service.BookService;

public class MyTest {
/*
* 新增
*/
@Test
public void TestOne() {
ApplicationContext ctx = new ClassPathXmlApplicationContext(
"applicationContext.xml");
BookService service = (BookService)ctx.getBean("service");
Book book=new Book();
book.setBookName("西游记");
book.setBookPrice(100);
int addBook = service.addBook(book);
if (addBook>0) {
System.out.println("新增成功!");
}

}
/*
* 删除
*/
@Test
public void TestTwo() {
ApplicationContext ctx = new ClassPathXmlApplicationContext(
"applicationContext.xml");
BookService service = (BookService)ctx.getBean("service");
Book book=new Book();
book.setBookId(3);
int count = service.deleteBook(book);
if (count>0) {
System.out.println("删除成功");
}

}
/*
* 修改
*/
@Test
public void TestThree(){
ApplicationContext ctx = new ClassPathXmlApplicationContext(
"applicationContext.xml");
BookService service = (BookService)ctx.getBean("service");
Book book=new Book();
book.setBookId(3);
book.setBookName("水浒传");
book.setBookPrice(300);
int count = service.updateBook(book);
if (count>0) {
System.out.println("更改成功");
}
}
/*
* 查询所有图书信息
*/
@Test
public void TestFour() {
ApplicationContext ctx = new ClassPathXmlApplicationContext(
"applicationContext.xml");
BookService service = (BookService)ctx.getBean("service");
List<Book> list = service.booklist();
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i).getBookName());
}

}
/*
* 根据编号查询图书名
*/
@Test
public void bookNameOfId() {
ApplicationContext ctx = new ClassPathXmlApplicationContext(
"applicationContext.xml");
BookService service = (BookService)ctx.getBean("service");
Book book=new Book();
book.setBookId(2);
String nameOfId = service.bookNameOfId(book);
System.out.println(nameOfId);

}
/*
* 根据编号查询图书名
*/
@Test
public void bookOfId() {
ApplicationContext ctx = new ClassPathXmlApplicationContext(
"applicationContext.xml");
BookService service = (BookService)ctx.getBean("service");
Book book=new Book();
book.setBookId(2);
Book book2 = service.bookOfId(book);
System.out.println(book2.getClass());

}

}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: