1.完成Account類中的定義私有變量(id,userName,balance)
// com.spring.jdbc.JdbcTemplate;
private Integer id;
private String userName;
private Double balance;
2.完成AccountManage接口類,定義接口(插入add、更新update、查詢單個query、查詢所有queryAll、刪除delete)
// com.spring.jdbc.JdbcTemplate;
public void addAccount(Account account);
public void updateAccount(Account account);
public void queryAllAccount();
public void deleteAccount(Interger id);
3.完成AccountManageImpl接口實現類
// com.spring.jdbc.JdbcTemplate;
package com.spring.jdbc.JdbcTemplate;import java.util.List;import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;//接口實現類
public class AccountManageImpl implements AccountManage {//定義JdbcTemplate屬性以及相關的set方法private JdbcTemplate jdbcTemplate;public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {this.jdbcTemplate = jdbcTemplate;}@Overridepublic void addAccount(Account account) {//定義一個SQL語句,實現插入一條數據String sql="insert into accounts(id,userName,balance) value(?,?,?)";//定義數組存放SQL語句中的參數Object[] obj = new Object[] {account.getId(),account.getUserName(),account.getBalance()};//執行SQL語句,返回執行添加操作的記錄條數int num = jdbcTemplate.update(sql,obj);if(num >0) {System.out.println("成功插入了"+num+"條轉賬記錄");System.out.println(account);}else {System.out.println("執行插入賬號記錄失敗");}}@Overridepublic void queryAccountById(Integer id) {//定義一個SQL語句,實現根據賬戶ID進行查詢String sql="select * from accounts where id=?";//創建一個BeanProPertRowMapper對象RowMapper<Account> rowMapper;rowMapper = new BeanPropertyRowMapper<Account>(Account.class);//執行Sql查詢語句,并通過rowMapper類返回Account類對象Account account = jdbcTemplate.queryForObject(sql,rowMapper,id);System.out.println("成功查詢了1個用戶記錄");System.out.println(account);}@Overridepublic void queryAllAccount() {//定義SQL查詢語句,實現查詢所有的賬號記錄String sql="select * from accounts";//創建一個BeanProPertRowMapper對象RowMapper<Account> rowMapper;rowMapper = new BeanPropertyRowMapper<Account>(Account.class);//執行Sql查詢語句,并通過rowMapper類返回Account類對象List<Account>accounts = jdbcTemplate.query(sql,rowMapper);System.out.println("成功查詢了所有的用戶記錄");//循環輸出每個記錄for(Account account:accounts) {System.out.println(account);}}@Overridepublic void updateAccount(Account account) {//定義SQL查詢語句,實現更新賬號id余額String sql="update accounts set balance=? where id=?";//定義數組用來存放SQL語句中的參數Object[] params = new Object[] {account.getBalance(),account.getId()};//執行SQL更新語句,返回執行更新操作的記錄條數int num = jdbcTemplate.update(sql,params);if(num>0) {System.out.println("數據更新成功"+num+"條賬號記錄");}else {System.out.println("執行更新賬號記錄失敗");}}@Overridepublic void deleteAccount(Integer id) {//定義SQL查詢語句,實現更新賬號id余額String sql="delete from accounts where id=?";//執行SQL刪除語句,返回執行刪除操作的記錄條數int num = jdbcTemplate.update(sql,id);if(num>0) {System.out.println("數據成功刪除"+num+"條賬號記錄");}else {System.out.println("執行刪除賬號記錄失敗");}}}
4.完成jdbcTemplateTest程序測試類,完成創建數據表,查詢、插入、更新、刪除等操作。
// com.spring.jdbc.JdbcTemplate//1、使用execute()方法執行sql創建表語句,創建賬戶表accountsjdbcTemplate.execute("create table if not exists accounts(id int,userName varchar(50),balance double)");
// 2.查詢數據// 查詢所有記錄accountManage.queryAllAccount();// 按照id查詢accountManage.queryAccountById(20240430);
// 3.插入數據account.setId(20240430);account.setUserName("小明");account.setBalance(1000.0);accountManage.addAccount(account);
// 4.更新數據(更新id為20240501的用戶余額)account.setId(20240501);account.setBalance(1000.0);accountManage.updateAccount(account);
// 5.刪除數據(刪除id為20240504的用戶記錄)accountManage.deleteAccount(20240504);