jdbcTemplate關於crud

package com.spring.jdbcTemplate;

import java.sql.ResultSet;
import java.sql.SQLException;

import org.junit.Test;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.datasource.DriverManagerDataSource;

import com.spring.User.User;

public class jdbcTemplateQuery {
	/**
	 * 查詢表有多少條記錄
	 */
	@Test
	public void testCount(){
		DriverManagerDataSource dataSource = new DriverManagerDataSource();
		//設置數據庫信息
		dataSource.setDriverClassName("com.mysql.jdbc.Driver");
		dataSource.setUrl("jdbc:mysql://localhost:3306/lihai?useUnicode=true&characterEncoding=utf-8&useSSL=false");
		dataSource.setUsername("root");
		dataSource.setPassword("111111");
		
		JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
		
		String sql = "select count(*) from jdbc_user";
		int count = jdbcTemplate.queryForObject(sql, Integer.class);//第二個參數:返回類型的class
		System.out.println(count);
		
	}
	
	/**
	 * 查詢表返回對象
	 */
	@Test
	public void testObject(){
		DriverManagerDataSource dataSource = new DriverManagerDataSource();
		//設置數據庫信息
		dataSource.setDriverClassName("com.mysql.jdbc.Driver");
		dataSource.setUrl("jdbc:mysql://localhost:3306/lihai?useUnicode=true&characterEncoding=utf-8&useSSL=false");
		dataSource.setUsername("root");
		dataSource.setPassword("111111");
		
		JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
		
		String sql = "select * from jdbc_user where username=?";
		//int count = jdbcTemplate.queryForObject(sql, rowMapper, args)
		//方法第二個參數:需要自己寫類實現接口,自己做數據封裝
		User user = jdbcTemplate.queryForObject(sql, new MyRowMapper(), "kylon");
		System.out.println(user);
		
	}
	
	
	/**
	 * 查詢表返回list
	 */
	@Test
	public void testList(){
		DriverManagerDataSource dataSource = new DriverManagerDataSource();
		//設置數據庫信息
		dataSource.setDriverClassName("com.mysql.jdbc.Driver");
		dataSource.setUrl("jdbc:mysql://localhost:3306/lihai?useUnicode=true&characterEncoding=utf-8&useSSL=false");
		dataSource.setUsername("root");
		dataSource.setPassword("111111");
		
		JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
		
		String sql = "select * from jdbc_user";
		//int count = jdbcTemplate.queryForObject(sql, rowMapper, args)
		//方法第二個參數:需要自己寫類實現接口,自己做數據封裝
		List<User> list = jdbcTemplate.query(sql, new MyRowMapper());
		System.out.println(list);
		
	}
	
}

class MyRowMapper implements RowMapper<User>{

	public User mapRow(ResultSet rs, int num) throws SQLException {
		//從結果集得到數據
		String username = rs.getString("username");
		String password = rs.getString("password");
		//把得到的數據封裝到對象
		User user = new User();
		user.setPassword(password);
		user.setUsername(username);
		return user;
	}
	
}

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