首发地址: 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"));
}
});
}
}
分享到:
相关推荐
Spring JDBC 增删改查
Spring使用JDBC做的增删改查,实现的方式有三种,欢迎交流。
前期项目 Spring+Spring MVC+JDBC Template 增删改查,包含建库,前端加后台
搭建的一个Spring架构,实现了增删改查等小功能,分享给大家
利用spring的实现对数据库的基本操作(增删改查)
适合新手的简单的springboot实现增删改查,可以通过crud 更加了解springboot构建项目的好处
maven、spring、spring mvc、mybatis 整合实现ssm通用增删改查基础开发框架.maven、spring、spring mvc、mybatis 整合实现ssm通用增删改查基础开发框架.maven、spring、spring mvc、mybatis 整合实现ssm通用增删改查...
简单spring增删改查 #db connection parameters driver=oracle.jdbc.driver.OracleDriver url=jdbc:oracle:thin:@localhost:1521:xe user=system pwd=cs2513179 # datesource parameters initsize=1 maxsize=3
Ibatis和Spring整合例子,实现增删改查功能.
spring+mybatis实现数据增删改查,数据库很简单,只有一个用户表,一个,phone表,请自行建立
spring整合springMVC和hibernate和redis增删改查实例
spring rest 增删改查(put\delete\post\get)简单示例详细讲解,亲测可用。spring rest 增删改查(put\delete\post\get)简单示例详细讲解,亲测可用。spring rest 增删改查(put\delete\post\get)简单示例详细...
jsp + servlet + springboot + springJdbc + druid + mysql 员工列表 ID 姓名 性别 入职日期 所属部门 部门地址 操作 1 张三 男 1982-2-2 开发部 北京 修改|删除 2 李四 男 1982-2-2 开发部 北京 修改|删除
Struts2+Hibernate+Spring整合后的增删改查 内有jar包,每个类中都有注释。清晰简单。一目了然。没有任何杂乱代码。 运行正常,数据库是mysql数据库。适合初学者参考。
Maven + Spring +Mysql实现简单增删改查及用户登录,适合初学者。
spring+struts2+hibernate框架,一个简单的双表增删改查操作 方便初学者入门 ,简单上手
基于bootstrap、springmvc、mybatis开发的实现登录和增删改查基本功能的项目,界面友好
基于Spring的Quartz动态定时任务增删改查,代码简洁。后端采用SpringMvc+Spring+Mybatis+Quartz,前端采用Bootstrap框架,数据库采用MySQL;完成定时任务动态任务初始化,增删改查
struts+spring+ibatis做的一个增删改查例子
struts2+spring+ibatis做的增删改查的小例子 struts2+spring+ibatis SSI2整合 struts2+spring+ibatis增删改查 对初学者很有为、用