`
Inmethetiger
  • 浏览: 111287 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring jdbc之最简单的增删改查

阅读更多

首发地址: 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"));
			}
		});
	}
}
分享到:
评论

相关推荐

    springMVC+mybatis实现登录和增删改查

    在本项目中,增删改查(CRUD)是最基础的数据操作。创建(Create)、读取(Read)、更新(Update)和删除(Delete)是数据库操作的核心功能。MyBatis通过动态SQL语句实现这些操作,使得开发者可以直接编写SQL,提高...

    Spring3.x MySql 增删改查 非常适合初学者

    在"Spring3.x MySql 增删改查"项目中,初学者可以学习如何配置Spring的JDBC支持。这通常涉及以下步骤: 1. 添加Spring JDBC的依赖到项目构建配置(如Maven或Gradle)。 2. 创建DataSource bean,配置数据库连接参数...

    Spring Boot+MySQL+Mybatis+Maven+IDEA(一个简单的数据库增删改查项目)

    在本项目中,我们主要探讨的是如何利用Spring Boot、MySQL、Mybatis以及Maven这四大核心技术,配合IDEA集成开发环境来实现一个基础的数据库增删改查功能。这是一个典型的Web应用开发流程,旨在帮助开发者快速搭建...

    Maven+SpringBoot+JPA单表增删改查实例

    本项目选择了"Maven+SpringBoot+JPA"这一技术栈,旨在提供一个简单的单表操作示例,帮助开发者快速理解如何在Spring Boot环境下使用Maven构建项目,并通过Spring Data JPA实现数据的增删改查功能。 首先,让我们...

    关于实现简单的增删改查

    在IT行业中,增删改查(Create, Read, Update, Delete,简称CRUD)是数据库操作的基本元素,也是任何应用程序中最常见的功能需求。本篇我们将深入探讨如何在Java Web环境中,利用Servlet技术实现简单的CRUD操作。...

    spring boot maven 连接mysql实现增删改查

    这篇文章将深入探讨如何在MyEclipse环境中使用这些技术实现一个简单的数据管理应用,即增删改查(CRUD)功能。 首先,`Spring Boot`是Spring框架的简化版本,它提供了快速构建独立的、生产级别的基于Spring的应用...

    一个简单的jsp+servlet实现的增删改查(适合初手学习)

    通过实践这个简单的JSP+Servlet增删改查项目,你可以逐步熟悉Web开发的基本流程,为以后深入学习更复杂的框架如Spring MVC或Struts打下坚实的基础。同时,这也是提升编程思维、理解MVC(Model-View-Controller)模式...

    springboot+mybatis实现简单的单表增删改查

    在本文中,我们将深入探讨如何使用SpringBoot框架与MyBatis ORM工具来实现对单一数据库表的简单增删改查(CRUD)操作。SpringBoot以其便捷的集成、自动配置和简化开发流程而受到广大开发者欢迎,而MyBatis则是一个轻...

    spring mvc 增删改查小项目

    在这个"Spring MVC 增删改查小项目"中,我们将探讨如何使用Spring MVC来实现基本的数据操作功能,包括对数据的添加(Add)、删除(Delete)、修改(Update)以及查询(Query)。 首先,我们需要了解Spring MVC的...

    Spring+SpringMVC+MyBatis+oracle (简单)增删改查

    在这个"Spring+SpringMVC+MyBatis+oracle (简单)增删改查"项目中,开发者可能已经创建了一个简单的用户管理应用。`user_table.dmp`文件包含用户表的数据,可能通过Oracle的Data Pump工具导入到数据库中。导入后,...

    利用springboot-jpa实现对数据库的增删改查操作

    本教程将深入讲解如何使用Spring Boot与JPA来实现对MySQL数据库的增删改查(CRUD)操作。 首先,我们需要在项目中引入Spring Boot和JPA的依赖。在`pom.xml`或`build.gradle`文件中添加相关依赖,例如对于Maven项目...

    ssh环境搭建及简单增删改查

    本教程将详细介绍如何搭建SSH环境以及进行基本的数据操作,如增删改查。 **1. Struts2框架** Struts2是MVC(Model-View-Controller)设计模式的实现,负责处理HTTP请求并控制应用程序流程。它提供了一种声明式和...

    MyBatis+struts2+spring+mysql整合增删改查

    在SSM框架中,MySQL作为数据存储的主要工具,通过JDBC与应用程序进行交互,MyBatis会根据开发者编写的SQL语句与MySQL进行通信,执行增删改查操作。 5. **整合过程**:整合MyBatis、Struts2和Spring的过程涉及到配置...

    springmvc jdbc的增删改查

    在Spring MVC项目中集成JDBC,可以方便地进行数据的增删改查操作,无需编写大量重复的SQL代码。下面我们将深入探讨这两个技术以及如何在实际项目中结合使用。 首先,Spring MVC的核心是DispatcherServlet,它作为...

    springboot 入门以及数据库的增删改查

    这样,我们就构建了一个简单的SpringBoot应用,实现了通过REST API与MySQL数据库进行交互的增删改查功能。对于初学者来说,理解这个流程是掌握SpringBoot和数据库操作的关键步骤。通过不断地实践和学习,你可以...

    最简单的用户登录与注册系统 spring mvc spring jdbc

    理解如何配置DataSource,以及如何使用JdbcTemplate进行增删改查操作是关键。 3. **用户登录**:登录功能通常涉及用户输入验证、凭证校验(例如,通过比较用户名和密码)以及会话管理。你需要了解如何在后端验证...

    easyui+ssm简单的增删改查

    3. **编写服务(Service)**:在Spring中定义Service接口,包含增删改查的方法,这些方法将调用Mapper接口进行实际的数据操作。 4. **实现控制器(Controller)**:SpringMVC的Controller接收HTTP请求,调用Service...

    简单Struts标签增删改查 例子

    5. 数据库操作:使用JDBC或者ORM框架(如Hibernate或MyBatis)来处理数据库的增删改查操作。 6. 实现业务逻辑:在Action类中编写具体的业务处理代码,例如,根据用户提交的数据执行添加、删除、修改和查询操作。 7...

    简单JavaWeb增删改查

    在JavaWeb开发中,"增删改查"(CRUD:Create, Read, Update, Delete)是最基础也是最重要的操作,广泛应用于各种业务场景。这里我们将深入探讨如何在JavaWeb环境中实现这些基本功能。 1. **创建(Create)** 创建新...

    简单部门表的增删改查基于Oracle

    本教程将重点讲解如何在Oracle数据库上实现一个简单的部门表的增删改查(CRUD)操作,不依赖任何框架,仅使用Servlet和基本的Java编程。这对于初学者来说,是一个很好的实践项目,有助于理解数据库与Web应用的交互...

Global site tag (gtag.js) - Google Analytics