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文檔(價值連城呀呀,不收藏你會後悔的)

在這裏插入圖片描述

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