SpringJDBC实现数据库增删改查操作⼀、创建⼀个Maven项⽬
⾸先创建⼀个Maven的quickstar项⽬
⼆、配置⽂件
1、设置jdbc.properties⽂件
这⾥是相关的mysql的连接配置,改成⾃⼰的数据库⽤户名和密码
#mysql驱动类
jdbc.sql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/spring_jdbc?userUnicode=true&characterEncoding=utf8
#数据库⽤户名
jdbc.user=root
#数据库密码
jdbc.password=123456
2、l⽂件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="/schema/beans"
xsi="/2001/XMLSchema-instance"
context="/schema/context"
cache="/schema/cache"
p="/schema/p"
p="/schema/p"
tx="/schema/tx"
aop="/schema/aop"
schemaLocation="/schema/beans
/schema/beans/spring-beans.xsd
/schema/context
/schema/context/spring-context.xsd
/schema/tx
/schema/tx/spring-tx.xsd
/schema/aop
/schema/aop/spring-aop.xsd">
<component-scan base-package="com.whq"/>
<!--加载配置⽂件-->
<property-placeholder location="jdbc.properties"/>
<!--配置c3p0数据源-->
<bean id="dataSource"class="hange.v2.c3p0.ComboPooledDataSource">
<!---->
<property name="driverClass"value="${jdbc.driver}"/>
<property name="jdbcUrl"value="${jdbc.url}"/>
<property name="user"value="${jdbc.user}"/>
<property name="password"value="${jdbc.password}"/>
</bean>
<!--配置jdbc模板对象,并注⼊⼀个数据源-->
<bean id="jdbcTemplate"class="org.JdbcTemplate">
<property name="dataSource"ref="dataSource"/>
</bean>
<!--spring 事务配置
1、添加事务与aop 的命名空间
2、开启aop代理
3、配置事务管理器
4、配置事务通知
5、配置aop
-->
<!--开启aop代理-->
<aspectj-autoproxy/>
<!--配置事务管理器-->
<bean id="txManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <!--数据源 ref代表c3p0数据源-->
<property name="dataSource"ref="dataSource"/>
</bean>
<!--配置事务通知 transaction-manager表⽰绑定那个事务管理器-->
<advice id="txAdvice"transaction-manager="txManager">
<!--定义什么⽅法使⽤事务处理-->
<attributes>
<!--name属性代表的是⽅法名(或⽅法)-->
<method name="add*"propagation="REQUIRED"/>
<method name="update*"propagation="REQUIRED"/>
<method name="delete*"propagation="REQUIRED"/>
<method name="query*"propagation="REQUIRED"/>
</attributes>
</advice>
<!--配置aop:定义aop切⾯-->
<config>
<!--设置切⼊点,设置需要被拦截的⽅法-->
<pointcut id="cut"expression="execution(* com.whq.service..*.*(..))"/>
<!--设置通知,事务通知-->
<advisor advice-ref="txAdvice"pointcut-ref="cut"/>
</config>
</beans>
三、java代码实现
分别完成以下⽬录代码实现
1、Dao层实现
IAccount.java
package com.whq.dao;
import com.whq.po.Account;
import java.util.List;
/
*
* 账户接⼝模块
* 1、添加账户
*  添加账户记录,返回受影响的⾏数
*  添加账户记录,返回主键
*  批量添加账户记录,返回受影响的⾏数
* 2.修改账户
*  修改账户记录,返回受影响的⾏数
*  批量修改账户记录,返回受影响的⾏数
* 3、删除账户
*  删除账户记录,返回受影响的⾏数
*  删除修改账户记录,返回受影响的⾏数
* 4、查询账户
*      查询指定⽤户的账户的总记录数,返回总记录数*      查询指定账户的账户详情,返回账户对象
*      多条件查询指定⽤户的账户列表,返回账户集合*
* */
public interface IAccount {
/**
* 添加账户
* *  添加账户记录,返回受影响的⾏数
* @param account
* @return
*/
public int addAccount(Account account);
/**
* 添加账户
* *  添加账户记录,返回主键
* @param account
*/
public int addAccountHasKey(Account account);
/**
* 添加账户
* *  批量添加账户记录,返回受影响的⾏数
* @param accounts
* @param accounts
* @return
*/
public int addAccountBatch( List<Account> accounts);
public int queryAccountCount(int userId);
public Account queryAccountById(int accountId);
public List<Account>queryAccountByParams(Integer userId,String accountName,String accountType,String createTime);
public int updateAccount(Account account);
public int updateAccountBatch(List<Account> accounts);
public int deleteAccount(int accountId);
public int deleteAccountBatch(Integer[] ids);
/**
jdbctemplate查询一条数据
* ⽀出
* @param accountId
* @param money
* @return
*/
public int outAccount(Integer accountId,Integer money);
/**
* 收⼊
* @param accountId
* @param money
* @return
*/
public int inAccount(Integer accountId,Integer money);
}
2、Po层实现
Account.java实现
package com.whq.po;
import java.util.Date;
/*
* ⽤户账户类
* */
public class Account {
private Integer accountId;
private String accountName;
private String accountype;
private Integer money;
private String remark;
private Date createTime;
private Date updateTime;
private Integer userId;
public Account(){
}
public Account(String accountName, String accountype, Integer money, String remark, Integer userId){
this.accountName = accountName;
this.accountype = accountype;
< = money;
< = money;
this.userId = userId;
}
public void setAccountId(Integer accountId){ this.accountId = accountId;
}
public void setAccountName(String accountName){ this.accountName = accountName;
}
public void setAccountype(String accountype){ this.accountype = accountype;
}
public void setMoney(Integer money){
< = money;
}
public void setRemark(String remark){
}
public void setCreateTime(Date createTime){ ateTime = createTime;
}
public void setUpdateTime(Date updateTime){ this.updateTime = updateTime;
}
public void setUserId(Integer userId){
this.userId = userId;
}
public Integer getAccountId(){
return accountId;
}
public String getAccountName(){
return accountName;
}
public String getAccountype(){
return accountype;
}
public Integer getMoney(){
return money;
}
public String getRemark(){
return remark;
}
public Date getCreateTime(){
return createTime;
}
public Date getUpdateTime(){
return updateTime;
}
public Integer getUserId(){

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。