spring-rest案例

web.xml配置

 
 
       EncodingFilter
       org.springframework.web.filter.CharacterEncodingFilter
       
            encoding
            utf-8
       

 

 
       EncodingFilter

 

spring-dao.xml配置

       
   

       

       


             value="oracle.jdbc.OracleDriver">
             value="jdbc:oracle:thin:@127.0.0.1:1521:xe">     
   
   

   

   

spring-mvc配置


 



   
       
       

   

实体类:略

接口类

package com.xdl.dao;

import java.util.List;

import com.xdl.bean.BankAccount;


public interface BankAccountDAO {
     List  listBankAccount();
     /** 根据账号 删除账户 */
     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 listBankAccount() {
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  accounts = jdbcTemplate.query(sql,
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  listBankAccount(){
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  bankAccountList(){


  List  datas = bankAccountService.listBankAccount();
  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"%>




Insert title here








账户操作


 



账号:

名字:

密码:

余额:

账户列表



     
账号 姓名密码 余额删除





















你可能感兴趣的:(javaSpring,SpringMVC,spring,rest)