web.xml配置
spring-dao.xml配置
spring-mvc配置
实体类:略
接口类
package com.xdl.dao;
import java.util.List;
import com.xdl.bean.BankAccount;
public interface BankAccountDAO {
List
/** 根据账号 删除账户 */
int deteleAccountByAno(String ano);
/** 根据账号 查询账户 */
BankAccount getAccountByAno(String ano);
/** 插入银行账户数据 */
int insertAccount(BankAccount account);
/** 更新方法 */
int updateAccount(BankAccount account);
}
mapper映射器:
package com.xdl.mapper;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.springframework.jdbc.core.RowMapper;
import com.xdl.bean.BankAccount;
public class BankAccountMapper implements RowMapper
@Override
public BankAccount mapRow(ResultSet rs, int arg1) throws SQLException {
return new BankAccount(rs.getString("ano"), rs.getString("aname"),
rs.getString("apassword"), rs.getDouble("money"));
}
}
实现方法:
package com.xdl.dao.imp;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
import com.xdl.bean.BankAccount;
import com.xdl.dao.BankAccountDAO;
import com.xdl.mapper.BankAccountMapper;
@Repository("bankDao")
public class BankAccountDAOOracleImp implements BankAccountDAO {
@Resource//注入模板
private JdbcTemplate jdbcTemplate;
@Override
public List
String sql = "select * from bank_account";
return jdbcTemplate.query(sql, new BankAccountMapper());
}
@Override
public int deteleAccountByAno(String ano) {
String sql = "delete from bank_account where ano = ?";
try {
return jdbcTemplate.update(sql, ano);
} catch (DataAccessException e) {
e.printStackTrace();
}
return 0;
}
@Override
public BankAccount getAccountByAno(String ano) {
String sql = "select * from bank_account where ano = ?";
List
new BankAccountMapper(), ano);
return accounts.isEmpty()?null:accounts.get(0);
}
@Override
public int insertAccount(BankAccount account) {
String sql = "insert into bank_account values(?,?,?,?)";
try {
return jdbcTemplate.update(sql, account.getAno(),
account.getAname(),account.getApassword(),account.getMoney());
} catch (DataAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return 0;
}
@Override
public int updateAccount(BankAccount account) {
String sql = "update bank_account set aname=?,apassword=?,"
+ "money=? where ano=?";
try {
return jdbcTemplate.update(sql, account.getAname(),account.getApassword()
,account.getMoney(),account.getAno());
} catch (DataAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return 0;
}
}
Service层
package com.xdl.service;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.xdl.bean.BankAccount;
import com.xdl.dao.BankAccountDAO;
@Service
public class BankAccountService {
@Resource
private BankAccountDAO bankDao;
public BankAccountDAO getBankDao() {
return bankDao;
}
public void setBankDao(BankAccountDAO bankDao) {
this.bankDao = bankDao;
}
/** 显示银行银行列表 */
public List
return bankDao.listBankAccount();
}
/** 根据账号 删除账户 */
public boolean removeAccountByAno(String ano){
return bankDao.deteleAccountByAno(ano)==1?true:false;
}
/** 根据账号 获取账户信息 */
public BankAccount accountInfoByAno(String ano){
return bankDao.getAccountByAno(ano);
}
/** 开户方法 */
public boolean createAccount(BankAccount account){
return bankDao.insertAccount(account)==1?true:false;
}
/** 更新方法 */
public boolean updateAccount(BankAccount account){
return bankDao.updateAccount(account)==1?true:false;
}
}
测试类:略
控制层:
package com.xdl.controller;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.xdl.bean.BankAccount;
import com.xdl.service.BankAccountService;
@Controller
public class BankAccountController {
// 注入Service 对象
@Autowired
private BankAccountService bankAccountService;
@RequestMapping("/toBankAccountList.do")
public String toBankAccountList(){
return "bank_account_list";
}
@RequestMapping("/bankAccountList.do")//请求路劲
@ResponseBody //将结果一JSON返回
public List
List
return datas;
}
/* @RequestMapping("/bankAccountRemove.do")
@ResponseBody
public boolean bankAccountRemove(HttpServletRequest request){
String ano = request.getParameter("ano");
return bankAccountService.removeAccountByAno(ano);
} */
@RequestMapping(value="/account/{ano}",method=RequestMethod.DELETE)
@ResponseBody
public boolean bankAccountRemove(@PathVariable("ano") String ano){
System.out.println("删除 ano=" + ano);
return bankAccountService.removeAccountByAno(ano);
}
@RequestMapping(value="/account/{ano}",method=RequestMethod.GET)
@ResponseBody
public BankAccount bankAccountGet(@PathVariable("ano") String ano){
System.out.println("获取 ano=" + ano);
BankAccount account = bankAccountService.accountInfoByAno(ano);
if(account == null){
System.out.println("account:"+account);
return null;
}else{
return account;
}
}
/** 添加银行账户 */
@RequestMapping(value="/account/new/{ano}",method=RequestMethod.POST)
@ResponseBody
public boolean bankAccountAdd(@PathVariable("ano") String ano,
BankAccount account){
System.out.println(ano);
System.out.println("account:"+account);
System.out.println();
return bankAccountService.createAccount(account);
}
/** 更新银行账户 */
@RequestMapping(value="/account/{ano}",method=RequestMethod.POST)
@ResponseBody
public boolean bankAccountUpdate(@PathVariable("ano") String ano,
@RequestBody BankAccount account){
System.out.println("account:"+account);
return bankAccountService.updateAccount(account);
}
}
ajax JSP编写:
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>账户操作
账号:
名字:
密码:
余额: 账户列表
账号 姓名 密码 余额 删除