Spring的JdbcTemplate学习(带你看代码学习哈)

一、代码学习

为了使操作数据库更加简单,这里分享Spring框架操作数据库,它对JDBC进行简单封装,提供了JdbcTemplate对象

光说不练歪把子
直接上代码,有疑问,下方留言一起交流

Student类:这里直接省略(它就是一个bean对象)
JdbcTemplateDemo02类

package jdbcTemplate_study;
/*
 * 		Spring JDBC的JDBCTemplate练习:
			* 需求:
				1. 修改18052000号数据的 Sage 为 24
				2. 添加一条记录
				3. 删除刚才添加的记录
				4. 查询id为18052000的记录,将其封装为Map集合
				5. 查询所有记录,将其封装为List
				6. 查询所有记录,将其封装为student对象的List集合
				7. 查询总记录数
		@author:放牛娃学编程
 */

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

import org.junit.Test;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;

import utils.JdbcUtils;

public class JdbcTemplateDemo02 {
	//获取JdbcTemplate对象
	private JdbcTemplate template = new JdbcTemplate(JdbcUtils.getDatasource());
		
	/*
	 * 1. 修改18052000号数据的 Sage 为 24
	 */
	@Test
	public void test1()
	{
		//定义sql语句
		String sql = "Update students set Sage=? where Sno=?";
		//调用方法
		int count = template.update(sql, 24,"18052000");
		System.out.println(count);
	}
	
	/*
	 * 2. 添加一条记录
	 */
	@Test
	public void test2()
	{
		String sql = "insert into students values(?,?,?,?,?)";
		int count = template.update(sql, "110","分享","男",16,"中科院");
		System.out.println(count);
	}
	
	/*
	 * 3. 删除刚才添加的记录
	 */
	@Test
	public void test3()
	{
		String sql = "delete from students where Sno=?";
		int count = template.update(sql, "110");
		System.out.println(count);
	}
	
	/**
	 * 4. 查询id为18052000的记录,将其封装为Map集合
	 * 注意:这个方法查询的结果集长度只能是1
	 */
	@Test
	public void test4()
	{
		String sql = "select * from students where Sno=?";
		Map<String,Object> map = template.queryForMap(sql, "18052000");
		System.out.println(map);
	}
	
	/**
	 * 5. 查询所有记录,将其封装为List
	 */
	@Test
	public void test5()
	{
		String sql = "select * from students";
		List<Map<String, Object>> list = template.queryForList(sql);
		for(Map<String, Object> map : list)
		{
			System.out.println(map);
		}
	}
	
	/**
	 * 6. 查询所有记录,将其封装为student对象的List集合
	 */
	@Test
	public void test6()
	{
		String sql = "select * from students";
		List<Student> list = template.query(sql, new RowMapper<Student>() {

			@Override
			public Student mapRow(ResultSet rs, int arg1) throws SQLException {
				// TODO Auto-generated method stub
				String Sno = rs.getString("Sno");
				String Sname = rs.getString("Sname");
				String Ssex = rs.getString("Ssex");
				int Sage = rs.getInt("Sage");
				String Sdept = rs.getString("Sdept");
				
				Student student = new Student();
				student.setSno(Sno);
				student.setSname(Sname);
				student.setSsex(Ssex);
				student.setSage(Sage);
				student.setSdept(Sdept);
				return student;
			}
		});
		for(Student st:list)
		{
			System.out.println(st);
		}
	}
	
	/**
	 * 6. 查询所有记录,将其封装为student对象的List集合
	 */
	@Test
	public void test6_2()
	{
		String sql = "select * from students";
		List<Student> list = template.query(sql, new BeanPropertyRowMapper<Student>(Student.class));
		for(Student st: list)
		{
			System.out.println(st);
		}
	}
	
	/**
	 * 7. 查询总记录数
	 */
	@Test
	public void test7()
	{
		String sql = "select count(Sno) from students";
		Long total = template.queryForObject(sql, Long.class);
		System.out.println(total);
	}
}

说明:test6_2很重要哟

二、分享交流

最后有兴趣一起交流的,可以关注我的公众号:这里你能够学到很实用的技巧,不是常用的我不说,公众号回复提取码即可获取以下学习资料啦啦啦啦,喜欢就拿去吧!!

(链接时常会失效,若出现此类情况,可以加我微信:17722328325(加时请备注:学习资料))

  1. Java web从入门到精通电子书

  2. Python机器学习电子书

  3. Python400集(北京尚学堂)

  4. JavaScript项目案例、经典面试题

  5. Java300集(入门、精通)

  6. Java后端培训机构录集(同事培训内部提供)

  7. java重要知识pdf文档(价值连城呀呀,不收藏你会后悔的)

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章