首发地址: http://inmethetiger.iteye.com/blog/1686468
参考于:http://jinnianshilongnian.iteye.com/blog/1423897
JdbcTemplate提供以下几类方法:
1:execute方法:可以用于执行任何SQL语句,主要是ddl语句(create,drop ,alter,truncate)
2:update方法和batchUpdate方法:用户新增,修改,删除,批处理
3:query和queryForXXX:用于执行查询语句
4:call方法:用于回调。
以下实例包含了一个简单的增删改查实例:
import java.sql.ResultSet;
import java.sql.SQLException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowCallbackHandler;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
public class JdbcTemlateTest {
private static JdbcTemplate jdbcTemplate;
private Log log = LogFactory.getLog(JdbcTemlateTest.class);
@BeforeClass
public static void setUpClass() {
String url = "jdbc:hsqldb:mem:test";
String username = "sa";
String password = "";
DriverManagerDataSource dataSource = new DriverManagerDataSource(url,
username, password);
dataSource.setDriverClassName("org.hsqldb.jdbcDriver");
jdbcTemplate = new JdbcTemplate(dataSource);
}
@Test
public void test() {
// 1.声明SQL
String sql = "select * from INFORMATION_SCHEMA.SYSTEM_TABLES";
jdbcTemplate.query(sql, new RowCallbackHandler() {
@Override
public void processRow(ResultSet rs) throws SQLException {
// 2.处理结果集
String value = rs.getString("TABLE_NAME");
System.out.println("Column TABLENAME:" + value);
}
});
}
// 创建表结构
@Before
public void before() {
String createTableSql = "create memory table test"
+ "(id int GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY, "
+ "name varchar(100))";
jdbcTemplate.update(createTableSql);
}
@After
public void tearDown() {
String dropTableSql = "drop table test";
jdbcTemplate.execute(dropTableSql);
}
/*
* 1:新增测试
*/
@Test
public void insert() {
jdbcTemplate.update("insert into test(name) values ('name1')");
jdbcTemplate.update("insert into test(name) values ('name2')");
Assert.assertEquals(2,
jdbcTemplate.queryForInt("select count(*) from test"));
}
/*
* 2:删除测试
*/
@Test
public void delete() {
// 先插入两条记录
jdbcTemplate.update("insert into test(name) values ('name1')");
jdbcTemplate.update("insert into test(name) values ('name2')");
// 删除第一条记录
jdbcTemplate.update("delete from test where name=?",
new Object[] { "name1" });
Assert.assertEquals(1,
jdbcTemplate.queryForInt("select count(*) from test"));
}
/*
* 3:更新测试
*/
@Test
public void update() {
// 先插入两条记录
jdbcTemplate.update("insert into test(name) values ('name1')");
jdbcTemplate.update("insert into test(name) values ('name2')");
// 更新第二条数据
jdbcTemplate.update("update test set name='nameChange' where name=?",
new Object[] { "name2" });
Assert.assertEquals(
1,
jdbcTemplate
.queryForInt("select count(*) from test where name='nameChange'"));
}
/*
* 4:选择测试
*/
@Test
public void select() {
jdbcTemplate.update("insert into test(name) values ('name1')");
jdbcTemplate.update("insert into test(name) values ('name2')");
jdbcTemplate.query("select * from test", new RowCallbackHandler() {
@Override
public void processRow(ResultSet rs) throws SQLException {
log.info("====id:" + rs.getInt("id"));
log.info(",name:" + rs.getString("name"));
}
});
}
}
分享到:
相关推荐
在本项目中,增删改查(CRUD)是最基础的数据操作。创建(Create)、读取(Read)、更新(Update)和删除(Delete)是数据库操作的核心功能。MyBatis通过动态SQL语句实现这些操作,使得开发者可以直接编写SQL,提高...
在"Spring3.x MySql 增删改查"项目中,初学者可以学习如何配置Spring的JDBC支持。这通常涉及以下步骤: 1. 添加Spring JDBC的依赖到项目构建配置(如Maven或Gradle)。 2. 创建DataSource bean,配置数据库连接参数...
在本项目中,我们主要探讨的是如何利用Spring Boot、MySQL、Mybatis以及Maven这四大核心技术,配合IDEA集成开发环境来实现一个基础的数据库增删改查功能。这是一个典型的Web应用开发流程,旨在帮助开发者快速搭建...
本项目选择了"Maven+SpringBoot+JPA"这一技术栈,旨在提供一个简单的单表操作示例,帮助开发者快速理解如何在Spring Boot环境下使用Maven构建项目,并通过Spring Data JPA实现数据的增删改查功能。 首先,让我们...
在IT行业中,增删改查(Create, Read, Update, Delete,简称CRUD)是数据库操作的基本元素,也是任何应用程序中最常见的功能需求。本篇我们将深入探讨如何在Java Web环境中,利用Servlet技术实现简单的CRUD操作。...
这篇文章将深入探讨如何在MyEclipse环境中使用这些技术实现一个简单的数据管理应用,即增删改查(CRUD)功能。 首先,`Spring Boot`是Spring框架的简化版本,它提供了快速构建独立的、生产级别的基于Spring的应用...
通过实践这个简单的JSP+Servlet增删改查项目,你可以逐步熟悉Web开发的基本流程,为以后深入学习更复杂的框架如Spring MVC或Struts打下坚实的基础。同时,这也是提升编程思维、理解MVC(Model-View-Controller)模式...
在本文中,我们将深入探讨如何使用SpringBoot框架与MyBatis ORM工具来实现对单一数据库表的简单增删改查(CRUD)操作。SpringBoot以其便捷的集成、自动配置和简化开发流程而受到广大开发者欢迎,而MyBatis则是一个轻...
在这个"Spring MVC 增删改查小项目"中,我们将探讨如何使用Spring MVC来实现基本的数据操作功能,包括对数据的添加(Add)、删除(Delete)、修改(Update)以及查询(Query)。 首先,我们需要了解Spring MVC的...
在这个"Spring+SpringMVC+MyBatis+oracle (简单)增删改查"项目中,开发者可能已经创建了一个简单的用户管理应用。`user_table.dmp`文件包含用户表的数据,可能通过Oracle的Data Pump工具导入到数据库中。导入后,...
本教程将深入讲解如何使用Spring Boot与JPA来实现对MySQL数据库的增删改查(CRUD)操作。 首先,我们需要在项目中引入Spring Boot和JPA的依赖。在`pom.xml`或`build.gradle`文件中添加相关依赖,例如对于Maven项目...
本教程将详细介绍如何搭建SSH环境以及进行基本的数据操作,如增删改查。 **1. Struts2框架** Struts2是MVC(Model-View-Controller)设计模式的实现,负责处理HTTP请求并控制应用程序流程。它提供了一种声明式和...
在SSM框架中,MySQL作为数据存储的主要工具,通过JDBC与应用程序进行交互,MyBatis会根据开发者编写的SQL语句与MySQL进行通信,执行增删改查操作。 5. **整合过程**:整合MyBatis、Struts2和Spring的过程涉及到配置...
在Spring MVC项目中集成JDBC,可以方便地进行数据的增删改查操作,无需编写大量重复的SQL代码。下面我们将深入探讨这两个技术以及如何在实际项目中结合使用。 首先,Spring MVC的核心是DispatcherServlet,它作为...
这样,我们就构建了一个简单的SpringBoot应用,实现了通过REST API与MySQL数据库进行交互的增删改查功能。对于初学者来说,理解这个流程是掌握SpringBoot和数据库操作的关键步骤。通过不断地实践和学习,你可以...
理解如何配置DataSource,以及如何使用JdbcTemplate进行增删改查操作是关键。 3. **用户登录**:登录功能通常涉及用户输入验证、凭证校验(例如,通过比较用户名和密码)以及会话管理。你需要了解如何在后端验证...
3. **编写服务(Service)**:在Spring中定义Service接口,包含增删改查的方法,这些方法将调用Mapper接口进行实际的数据操作。 4. **实现控制器(Controller)**:SpringMVC的Controller接收HTTP请求,调用Service...
5. 数据库操作:使用JDBC或者ORM框架(如Hibernate或MyBatis)来处理数据库的增删改查操作。 6. 实现业务逻辑:在Action类中编写具体的业务处理代码,例如,根据用户提交的数据执行添加、删除、修改和查询操作。 7...
在JavaWeb开发中,"增删改查"(CRUD:Create, Read, Update, Delete)是最基础也是最重要的操作,广泛应用于各种业务场景。这里我们将深入探讨如何在JavaWeb环境中实现这些基本功能。 1. **创建(Create)** 创建新...
本教程将重点讲解如何在Oracle数据库上实现一个简单的部门表的增删改查(CRUD)操作,不依赖任何框架,仅使用Servlet和基本的Java编程。这对于初学者来说,是一个很好的实践项目,有助于理解数据库与Web应用的交互...