JdbcTemplate实现增删改查
下面给大家展示JdbcTemplate的常用的Dao操作方法:
一、保存操作
/**
* 添加操作
*/
@Test
public void test1() {
ApplicationContext ac = new ClassPathXmlApplicationContext(
"applicationContext.xml");
// 2.根据id获取bean对象
JdbcTemplate jt = (JdbcTemplate) ac.getBean("jdbcTemplate");
// 3.执行操作
// 保存
jt.update("insert into account(name,money)values(?,?)","一点教程网", 5000);
}
二、更新操作
/**
* 更新操作
*/
@Test
public void test2() {
// 1.获取Spring容器
ApplicationContext ac = new ClassPathXmlApplicationContext(
"applicationContext.xml");
// 2.根据id获取bean对象
JdbcTemplate jt = (JdbcTemplate) ac.getBean("jdbcTemplate");
// 3.执行操作
// 修改
jt.update("update account set money = money-? where id = ?", 200, 5);
}
三、删除操作
/**
* 删除操作
*/
@Test
public void test3() {
// 1.获取Spring容器
ApplicationContext ac = new ClassPathXmlApplicationContext(
"applicationContext.xml");
// 2.根据id获取bean对象
JdbcTemplate jt = (JdbcTemplate) ac.getBean("jdbcTemplate");
// 3.执行操作
// 删除
jt.update("delete from account where id = ?", 6);
}
四、查询所有操作
/**
* 查询所有操作
*/
@Test
public void test4() {
// 1.获取Spring容器
ApplicationContext ac = new ClassPathXmlApplicationContext(
"applicationContext.xml");
// 2.根据id获取bean对象
JdbcTemplate jt = (JdbcTemplate) ac.getBean("jdbcTemplate");
// 3.执行操作
// 查询所有
List<Account> accounts = jt.query(
"select * from account where money > ? ",
new AccountRowMapper(), 200);
for (Account o : accounts) {
System.out.println(o);
}
}
public class AccountRowMapper implements RowMapper<Account> {
@Override
public Account mapRow(ResultSet rs, int rowNum) throws SQLException {
Account account = new Account();
account.setId(rs.getInt("id"));
account.setName(rs.getString("name"));
account.setMoney(rs.getFloat("money"));
return account;
}
}
五、查询一个操作
/**
* 查询一个操作
*/
@Test
public void test5() {
// 1.获取Spring容器
ApplicationContext ac = new ClassPathXmlApplicationContext(
"applicationContext.xml");
// 2.根据id获取bean对象
JdbcTemplate jt = (JdbcTemplate) ac.getBean("jdbcTemplate");
// 3.执行操作
// 查询一个
List<Account> as = jt.query("select * from account where id = ? ",
new AccountRowMapper(), 5);
System.out.println(as.isEmpty() ? "没有结果" : as.get(0));
}
六、查询返回一行一列
/**
* 查询返回一行一列操作
*/
@Test
public void test6() {
// 1.获取Spring容器
ApplicationContext ac = new ClassPathXmlApplicationContext(
"applicationContext.xml");
// 2.根据id获取bean对象
JdbcTemplate jt = (JdbcTemplate) ac.getBean("jdbcTemplate");
// 3.执行操作
// 查询返回一行一列:使用聚合函数,在不使用group by字句时,都是返回一行一列。最长用的就是分页中获取总记录条数
Integer total = jt.queryForObject(
"select count(*) from account where money > ? ", Integer.class,
200);
System.out.println(total);
}
热门文章
优秀文章