时间:2021-07-01 10:21:17 帮助过:16人阅读
2.创建一个AccountDao接口
1 package com.Mark.jdbc.updateFun; 2 3 public interface AccountDao 4 { 5 public int addAccount(Account account); 6 public int updateAccount(Account account); 7 public int deleteAccount(int id); 8 }
3.创建接口实现类AccountDaoImpl类
1 package com.Mark.jdbc.updateFun; 2 3 import org.springframework.jdbc.core.JdbcTemplate; 4 5 public class AccountDaoImpl implements AccountDao 6 { 7 // 声明jdbcTemplate属性及其setter方法 8 // 并且在jdbcTemplate类中,提供一系列update()方法 9 private JdbcTemplate jdbcTemplate; 10 11 public void setJdbcTemplate_this(JdbcTemplate jdbcTemplate) 12 { 13 this.jdbcTemplate = jdbcTemplate; 14 } 15 16 @Override//添加账户 17 public int addAccount(Account account) 18 { 19 // 定义Sql 20 String sql="insert into account(username,balance) value(?,?)"; 21 // 定义数组来存储SQL语句影响的纪录条数! 22 Object[] obj= 23 new Object[]{account.getUsername(), account.getBlance()}; 24 int num=this.jdbcTemplate.update(sql,obj); //num即是纪录条数 25 return num; 26 } 27 28 @Override//更新账户 29 public int updateAccount(Account account) 30 { 31 // 定义sql 32 String sql="update account set username=?,balance=? where id=?"; 33 Object[] obj=new Object[] 34 { 35 account.getUsername(), 36 account.getBlance(), 37 account.getId() 38 }; 39 int num=this.jdbcTemplate.update(sql,obj); 40 return num; 41 } 42 43 @Override 44 public int deleteAccount(int id) 45 { 46 String sql="delete from account where id=?"; 47 int num=this.jdbcTemplate.update(sql,id); 48 return num; 49 } 50 }
4.编写ApplicationContext.xml文件
1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://www.springframework.org/schema/beans 5 http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"> 6 7 <!--配置数据源--> 8 <bean id="dataSourse_id" 9 class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 10 <!--数据库驱动--> 11 <property name="driverClassName" value="com.mysql.jdbc.Driver"/> 12 <!--连接数据库--> 13 <property name="url" value="jdbc:mysql://localhost/spring"/> 14 <!--数据库名、密码--> 15 <property name="username" value="root" /> 16 <property name="password" value="0000"/> 17 </bean> 18 19 <!--配置jdbc模板 id名要与java文件中用到的一致--> 20 <bean id="jdbcTemplate_id" 21 class="org.springframework.jdbc.core.JdbcTemplate"> 22 <!--默认必须使用数据源--> 23 <property name="dataSource" ref="dataSourse_id"/> 24 </bean> 25 <!--新定义一个Bean--> 26 <bean id="accountDao" class="com.Mark.jdbc.updateFun.AccountDaoImpl"> 27 <!--将jdbcTemplate注入到accountDao实例中--> 28 <property name="jdbcTemplate_this" ref="jdbcTemplate_id"/> 29 </bean> 30 </beans>
5.编写测试类updateTest
1 package com.Mark.jdbc.updateFun; 2 3 import org.springframework.context.ApplicationContext; 4 import org.springframework.context.support.ClassPathXmlApplicationContext; 5 6 public class updateTest 7 { 8 public static void main(String[] args) 9 { 10 //1.加载配置文件 11 ApplicationContext applicationContext=new 12 ClassPathXmlApplicationContext("applicationContext.xml"); 13 //2.获取AccountDao实例,在Bean中调用了AccountDaoImpl方法 14 AccountDao accountDao=(AccountDao)applicationContext.getBean("accountDao"); 15 //3.创建Account对象,并向Account对象中添加数据 16 Account account=new Account(); 17 account.setUsername("小飞"); 18 account.setBalance(5000000.00); 19 //执行addAccount()方法,并获取返回结果 20 int num=accountDao.addAccount(account); 21 if (num>0) 22 { 23 System.out.println("成功修改了"+num+"条数据!"); 24 }else 25 { 26 System.out.println("操作失败!"); 27 } 28 } 29 // 其他的方法也可以像上面这样去实现。 30 }
运行结果:成功修改了1条数据!(在此之前要先在数据库中建好account表)
如下
1 CREATE TABLE account( 2 id int PRIMARY KEY auto_increment, 3 username VARCHAR(50), 4 balance DOUBLE )
spring技术———数据库开发之update()
标签:.com xmlns class 常用方法 version text 加载 完成 账户