Spring - 12 Spring框架的JDBC模板的简单操作

124 篇文章 1 订阅
96 篇文章 0 订阅
  •  Spring框架的JDBC模板的简单操作

此例继续使用上一节创建的环境来做测试

 

package demo;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;

import javax.activation.DataSource;
import javax.annotation.Resource;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import domain.Account;


@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(value="classpath:applicationContext.xml")
public class Demo1 {
	
		
	/**
	 * Spring框架的JDBC模板的简单操作
	 * 因与修改的数字都是double所有在数字后面都加上小写字母d
	 */
	@Test
	// 插入操作
	public void run1() {
		template.update("insert into t_account values (null,?,?)", "test1", 50000);
	}
	@Test
	// 修改操作
	public void run2(){
		template.update("update t_account set name=?,money =? where id = ?", "test1",10000d,5);
	}
	@Test
	// 删除操作
	public void run3(){
		template.update("delete from t_account where id = ?", 5);
	}
	
	/**
	 * 模板查询操作
	 * 需要实现RowMapper<?>接口,可重用。
	 */
	@Test
	// 查询一条记录
	public void run4(){
		Account account = template.queryForObject("select * from t_account where id = ?", new BeanMapper(), 1);
		System.out.println(account);
	}
	
	@Test
	// 查询所有记录
	public void demo5(){
		List<Account> list = template.query("select * from t_account", new BeanMapper());
		for (Account account : list) {
			System.out.println(account);
		}
	}
	
}

/**
 * 1.实现RowMapper接口的mapRow(ResultSet rs, int arg1)方法
 * 2.实例化需要的bean类
 * 3.手动赋值各个成员变量
 * 4.最后返回该实例
 * @author Administrator
 *
 */
class BeanMapper implements RowMapper<Account>{
	
	@Override
	public Account mapRow(ResultSet rs, int arg1) throws SQLException {
		Account account = new Account();
		account.setId(rs.getInt("id"));
		account.setName(rs.getString("name"));
		account.setMoney(rs.getDouble("money"));
		return account;
	}

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值