当前位置:Gxlcms > 数据库问题 > spring技术———数据库开发之update()

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

时间:2021-07-01 10:21:17 帮助过:16人阅读

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 )

 

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

标签:.com   xmlns   class   常用方法   version   text   加载   完成   账户   

人气教程排行