spring技术———数据库开发之update()

  update()方法可以完成插入,更新,删除修改数据的操作。并且在JdbcTemplate类中,提供了一系列的update()方法。

 常用方法如下

接下来演示该方法的使用:

1.先创建一个Account类

 1 package com.Mark.jdbc.updateFun;
 2 
 3 public class Account
 4 {
 5     private int id;      //账户
 6     private String username;//用户名
 7     private double balance;//余额
 8 
 9     public void setId(int id)
10     {
11         this.id = id;
12     }
13 
14     public int getId()
15     {
16         return id;
17     }
18 
19     public void setUsername(String username)
20     {
21         this.username = username;
22     }
23 
24     public String getUsername()
25     {
26         return username;
27     }
28 
29     public void setBalance(double blance)
30     {
31         this.balance = blance;
32     }
33 
34     public double getBlance()
35     {
36         return balance;
37     }
38     public String toString()
39     {
40         return "Account " + "[" +
41                 "id="+id+"," +
42                 "username="+username +
43                 ",blance="+balance+"]";
44     }
45 }

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 )

 

posted @ 2018-03-18 20:40  TinyMark  阅读(1702)  评论(0编辑  收藏  举报