导入jar:(ioc aop dao 数据驱动包和连接池包)
接口:
import java.util.List;
import com.xdl.bean.BankAccount;
public interface BankAccountDAO {
List<BankAccount> getBankAccountList(double money);
/** 从某个账户上 扣钱 */
int outMoney(BankAccount fromAccount,double money);
/** 给某个账户上 加钱 */
int inMoney(BankAccount toAccount,double money);
}
实现类:
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
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 {
//利用自动注入实现jdbcTemplate
@Autowiredprivate JdbcTemplate jdbcTemplate;
@Override
public List<BankAccount> getBankAccountList(double money) {
String sql = "select * from bank_account where money < ?";
return jdbcTemplate.query(sql, new BankAccountMapper(),
money);
}
@Override
public int outMoney(BankAccount fromAccount, double money) {
String sql = "update bank_account set money=money-? where aname=?";
return jdbcTemplate.update(sql,money,fromAccount.getAname());
}
@Override
public int inMoney(BankAccount toAccount, double money) {
String sql = "update bank_account set money=money+? where aname=?";
return jdbcTemplate.update(sql,money,toAccount.getAname());
}
}
application.xml配置
<!-- 开启组件扫描 -->
<context:component-scan base-package="com.xdl"></context:component-scan>
<!-- 配置一个数据源 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="oracle.jdbc.OracleDriver"></property>
<property name="url"
value="jdbc:oracle:thin:@127.0.0.1:1521:xe"></property>
<property name="username" value="scott"></property>
<property name="password" value="tiger"></property>
</bean>
<!-- 创建一个模板对象 -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<constructor-arg index="0" ref="dataSource"></constructor-arg>
</bean>