jdbcTemplate实现查询操作

本文详细介绍了如何利用jdbcTemplate这个Spring框架中的组件执行数据库查询操作,包括基本的查询、条件查询等,帮助开发者高效地与数据库交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jdbcTemplate实现查询操作

//查询总条数
	@Test
	public void testCount(){
		//创建数据库信息
		DriverManagerDataSource dataSource= new DriverManagerDataSource();
		dataSource.setDriverClassName("com.mysql.jdbc.Driver");
		dataSource.setUrl("jdbc:mysql:///springday03");
		dataSource.setUsername("root");
		dataSource.setPassword("root");
		
		//创建jdbcTemplate模板对象
		JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
		
		//调用模板方法进行实现操作
		   //创建sql语句
		String sql="select count(*) from user";
		
		int rows=jdbcTemplate.queryForObject(sql, Integer.class);
		System.out.println(rows);
		   
	}
public class TemplateDemo2 {
	/*
	 * QueryRunner runner = new QueryRunner(datasource);
	 * 返回对象
	 * runner.query(sql,new BeanHandler<User>(User.class));
	 * 
	 * 返回list集合
	 * runner.query(sql,new BeanListHandler<User>(User.class));
	 * 
	 * 1-在dbutils时候,有接口ResultHandler
	 * dbutils提供了针对不同的结果实现类
	 * 
	 * 2-jdbcTemplate实现查询,有接口RowMapper
	 * jdbcTemplate针对这个酒后没有提供实现类,得到不同的类型数据需要自己进行数据封装
	 * 
	 * */
	
	
	//以下是jdbcTemplate实现查询,的具体操作
	//查询单个对象
	@Test
	public void testSelect(){
		//创建数据库信息
		DriverManagerDataSource dataSource= new DriverManagerDataSource();
		dataSource.setDriverClassName("com.mysql.jdbc.Driver");
		dataSource.setUrl("jdbc:mysql:///springday03");
		dataSource.setUsername("root");
		dataSource.setPassword("root");
		
		//创建jdbcTemplate模板对象
		JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
		//调用模板方法进行实现操作
		   //创建sql语句
		String sql="select * from user where username=?";
		//第二个参数是就扣RowMapper,需要自己写类实现接口,自己做数据封装
		User user=jdbcTemplate.queryForObject(sql, new MyRowMapper(), "mary");
		
		System.out.println(user);
	   
	}
	//查询集合
	@Test
	public void testSelectList(){
		//创建数据库信息
		DriverManagerDataSource dataSource= new DriverManagerDataSource();
		dataSource.setDriverClassName("com.mysql.jdbc.Driver");
		dataSource.setUrl("jdbc:mysql:///springday03");
		dataSource.setUsername("root");
		dataSource.setPassword("root");
		
		//创建jdbcTemplate模板对象
		JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
		//调用模板方法进行实现操作
		   //创建sql语句
		String sql="select * from user";
		//第二个参数是就扣RowMapper,需要自己写类实现接口,自己做数据封装
		List<User> list=jdbcTemplate.query(sql, new MyRowMapper());
		
		System.out.println(list);
	   
	}
	
}

class MyRowMapper implements RowMapper<User>{

	@Override
	public User mapRow(java.sql.ResultSet rs, int num) throws SQLException {
		String username=rs.getString("username");
		String password=rs.getString("password");
		
		//创建对象保存
		User user = new User();
		user.setUsername(username);
		user.setPassword(password);
		
		return user;
	}
	
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值