问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

spring 中的saveOrUpdateAll(Collection entities) 使用方式?

发布网友 发布时间:2022-04-10 12:45

我来回答

4个回答

懂视网 时间:2022-04-10 17:06

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   加载   完成   账户   

热心网友 时间:2022-04-10 14:14

春节与圣诞节之间的区别
春节对中国人来说好吃的多
圣诞节对中国人来说好玩的多

热心网友 时间:2022-04-10 15:32

不晓得你的集合中的每个对象是否又拥有了另一个对象,如果是这种一主多从关系,我就举个简单的例子吧。一个区对应多个街道。

District d = new District("市中区");
List<Street> list = new ArrayList<Street>();
list.add(new Street("中一路", d));
list.add(new Street("中二路", d));
list.add(new Street("中三路", d));

Hibernate配置:set集合inverse="true"

数据库:Street所对应District的外键最好设上可以为空

super.getHibernateTemplate().saveOrUpdateAll(list);

保存三个街道和一个区。

热心网友 时间:2022-04-10 17:07

是因为不对应.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 变形金刚08动画的问题 变形金刚08动画日语版剧情介绍 名字后面加h是啥意思 许乐菡这个名字的含义 乐双的寓意 书乐名字寓意 乐一的名字什么含义? 乐字开头有寓意的名字有哪些? 乐晗名字的意思是什么? 乐字有哪些解释 洋河酒蓝色经典天之蓝52度375ml*2瓶装怎么样 洋河蓝色经典天之蓝 52度 480ml 这酒喝着怎么样?市场价大约多少钱? 手机开关机一次需要耗费多少电量? 手机关机时还会消耗电量吗 明基77G显示器怎么将电路板取下来 明基q20w5显示器拆卸 明基显示器dl2205底座怎么拆 明基FP92W显示器底座怎么拿下来 明基g2200w 显示器底座怎么拆卸 如何拆除明基显示器外壳 我的明基显示器 Q7T4需要把底座拆下来,搬家搬运,可是我怎么也拆不下来,请求老大指点,飞常感谢!!急! 我有个明基的G2400w显示器,现在需要壁挂使用,请问怎么拆卸支架 梦见一群小孩向我索命,周公解梦 华为P8标准版的售后维修要680元怎么那么贵啊? 苹果、华为等厂商的手机维修费有多大的差别? 为什么许昌华为维修店比网上的触摸屏贵一倍,别的店换屏要|2o元而华为维修店38o元,还说别的店换屏 梦见的人送自己衣服是表示什么? 海棠花刚买回来怎么养 贯彻新发展理念-建设现代化经济体系(课后答案) 请问一下吃的小米能不能直接带上飞机 电子产品充电宝上所标识的多少mhA是不是等于能充多少毫安的电?_百度知 ... 把小米装在瓶子里能不能带上飞机? 1000mha的充电器 充电宝电池13800mha,充满要多久 小米手机能不能带上飞机 电芯容量10400mha和额定容量6500mha,哪一个才是这个充电宝的 小米体重秤能带上飞机吗? 充电宝原来是6个2000mha,现在改成4个2600mHA的电池可以吗? 用5800mha的充电宝给2000mha的电池充电可以充几次? 小米电饭煲可以带上飞机 乘飞机 12000mha的充电宝可以带上飞机吗?? 7000mha28wh的充电宝能用多久 Proda20000mha的充电宝怎么用怎么样就是充满电了怎么样就是没电了?买的时候有个小盒子上面