java连接数据库后进行更新插入操作
2016-08-23 23:50
561 查看
接上一次的查询操作,这次将更新与插入的代码补充
首先是服务端的接收端,接收到客户端的请求则发送相应操作
if ("1".equals(message)) {
//从mysql数据库仓库中查询数据
jc.mysqlSelect("select * from cangku");
// //从oracle数据库订单表中查询数据
// jc.oracleSelect("select * from freshbin_dingdan");
//当oracle数据中连接不上时候,就从本地的mysql数据库的订单表获取数据
jc.mysqlSelectDingDan("select * from dingdan");
//获取订单表与仓库表比较后,数量不同的结果
jc.writeIO();
//将两张表比较后的结果返回给客户端
os.write(jc.writeIO().toString().getBytes());
os.flush();
}
//这是更新操作的功能代码
if("2".equals(message)) {
UpdateMySqlCangKuNumber umsck = new UpdateMySqlCangKuNumber();
//将需要更新以及插入的数据发送给客户端
StringBuffer sb = umsck.getUpdateInsertNumber();
os.write(sb.toString().getBytes());
}
os.write(("请输入1或2(1为查询,2为更新):\n").getBytes());
}
然后是获取需要更新与插入的id与数量
// 执行查询仓库与订单的语句,获取需要更细与插入的商品编号与数量
public void getNewNumber() {
// 从mysql数据库仓库中查询数据并储存起来
mysqlMap = jc.mysqlSelect("select * from cangku");
// 从mysql数据库订单表中获取数据并存储起来
mysqlDingDanMap = jc.mysqlSelectDingDan("select * from dingdan");
// 获取仓库表的所有数据
Set<Integer> mysqlSet = mysqlMap.keySet();
// 获取订单表的数据
Set<Integer> mysqlDingDanSet = mysqlDingDanMap.keySet();
for (Integer mn : mysqlSet) {
// 定义一个boolean类型的变量来表示当仓库的商品编号在订单表中不存在时,就设置为true
boolean flag = true;
for (Integer on : mysqlDingDanSet) {
if (mn.intValue() == on.intValue()) {
if (mysqlMap.get(mn).intValue() != mysqlDingDanMap.get(mn)
.intValue()) {
updateNewNumber.put(mn, mysqlMap.get(mn));
}
flag = false;
}
}
// 当flag为true时,就把订单表中没有的商品编号存起来
if (flag) {
insertNewNumber.put(mn, mysqlMap.get(mn));
}
}
}
接着是执行更新操作和插入操作,以及把结果以字符串的形式发送给客户端
// 进行更新操作
public void updateNumber() {
// 执行查询仓库与订单的语句,获取需要更细与插入的商品编号与数量
getNewNumber();
// 获取所有需要更新的商品编号
Set<Integer> mysqlDingDanNumber = updateNewNumber.keySet();
for (Integer i : mysqlDingDanNumber) {
// 将需要更新的商品编号和数量更新到订单表中
jc.getMsPool().getUPstmt(
"update dingdan set dingdannumber=? WHERE id=?", i,
updateNewNumber.get(i));
}
}
// 进行插入操作
public void insertNumber() {
// 获取所有需要插入的商品编号
Set<Integer> mysqlDingDanNumber = insertNewNumber.keySet();
for (Integer i : mysqlDingDanNumber) {
// 将需要插入的商品编号和数量插入到订单表中
jc.getMsPool().getUPstmt(
"insert into dingdan(dingdannumber,id) values(?,?)", i,
insertNewNumber.get(i));
}
}
// 遍历需要更新的数据,以字符串形式存储,以便将来发送给客户端
public StringBuffer getUpdateInsertNumber() {
// 进行更新操作
updateNumber();
// 进行插入操作
insertNumber();
// 获取所有需要更新的商品编号
Set<Integer> mysqlDingDanNumber = updateNewNumber.keySet();
for (Integer i : mysqlDingDanNumber) {
SBUpdateNumber.append("更新了商品编号为:" + i + "的商品-----此次更新的数量为:"
+ updateNewNumber.get(i) + "\r\n");
}
// 获取所有需要插入的商品编号
Set<Integer> mysqlDingDanInsertNumber = insertNewNumber.keySet();
for (Integer i : mysqlDingDanInsertNumber) {
SBUpdateNumber.append("插入了新的商品编号为:" + i + "的商品-----此次插入的数量为:"
+ insertNewNumber.get(i) + "\r\n");
}
return SBUpdateNumber;
}
最后,当然是上图了
下面这张图是我仅仅实现了更新功能时候的测试
然后是执行更新与插入的图
这个小小的程序经过改了又改,虽然有点浪费时间,但是实现效果后,自己感觉还是挺开心的.....虽然已经很晚了,但是顿时感觉很清醒..........好,可以去睡觉了...........加油!,.......................
首先是服务端的接收端,接收到客户端的请求则发送相应操作
if ("1".equals(message)) {
//从mysql数据库仓库中查询数据
jc.mysqlSelect("select * from cangku");
// //从oracle数据库订单表中查询数据
// jc.oracleSelect("select * from freshbin_dingdan");
//当oracle数据中连接不上时候,就从本地的mysql数据库的订单表获取数据
jc.mysqlSelectDingDan("select * from dingdan");
//获取订单表与仓库表比较后,数量不同的结果
jc.writeIO();
//将两张表比较后的结果返回给客户端
os.write(jc.writeIO().toString().getBytes());
os.flush();
}
//这是更新操作的功能代码
if("2".equals(message)) {
UpdateMySqlCangKuNumber umsck = new UpdateMySqlCangKuNumber();
//将需要更新以及插入的数据发送给客户端
StringBuffer sb = umsck.getUpdateInsertNumber();
os.write(sb.toString().getBytes());
}
os.write(("请输入1或2(1为查询,2为更新):\n").getBytes());
}
然后是获取需要更新与插入的id与数量
// 执行查询仓库与订单的语句,获取需要更细与插入的商品编号与数量
public void getNewNumber() {
// 从mysql数据库仓库中查询数据并储存起来
mysqlMap = jc.mysqlSelect("select * from cangku");
// 从mysql数据库订单表中获取数据并存储起来
mysqlDingDanMap = jc.mysqlSelectDingDan("select * from dingdan");
// 获取仓库表的所有数据
Set<Integer> mysqlSet = mysqlMap.keySet();
// 获取订单表的数据
Set<Integer> mysqlDingDanSet = mysqlDingDanMap.keySet();
for (Integer mn : mysqlSet) {
// 定义一个boolean类型的变量来表示当仓库的商品编号在订单表中不存在时,就设置为true
boolean flag = true;
for (Integer on : mysqlDingDanSet) {
if (mn.intValue() == on.intValue()) {
if (mysqlMap.get(mn).intValue() != mysqlDingDanMap.get(mn)
.intValue()) {
updateNewNumber.put(mn, mysqlMap.get(mn));
}
flag = false;
}
}
// 当flag为true时,就把订单表中没有的商品编号存起来
if (flag) {
insertNewNumber.put(mn, mysqlMap.get(mn));
}
}
}
接着是执行更新操作和插入操作,以及把结果以字符串的形式发送给客户端
// 进行更新操作
public void updateNumber() {
// 执行查询仓库与订单的语句,获取需要更细与插入的商品编号与数量
getNewNumber();
// 获取所有需要更新的商品编号
Set<Integer> mysqlDingDanNumber = updateNewNumber.keySet();
for (Integer i : mysqlDingDanNumber) {
// 将需要更新的商品编号和数量更新到订单表中
jc.getMsPool().getUPstmt(
"update dingdan set dingdannumber=? WHERE id=?", i,
updateNewNumber.get(i));
}
}
// 进行插入操作
public void insertNumber() {
// 获取所有需要插入的商品编号
Set<Integer> mysqlDingDanNumber = insertNewNumber.keySet();
for (Integer i : mysqlDingDanNumber) {
// 将需要插入的商品编号和数量插入到订单表中
jc.getMsPool().getUPstmt(
"insert into dingdan(dingdannumber,id) values(?,?)", i,
insertNewNumber.get(i));
}
}
// 遍历需要更新的数据,以字符串形式存储,以便将来发送给客户端
public StringBuffer getUpdateInsertNumber() {
// 进行更新操作
updateNumber();
// 进行插入操作
insertNumber();
// 获取所有需要更新的商品编号
Set<Integer> mysqlDingDanNumber = updateNewNumber.keySet();
for (Integer i : mysqlDingDanNumber) {
SBUpdateNumber.append("更新了商品编号为:" + i + "的商品-----此次更新的数量为:"
+ updateNewNumber.get(i) + "\r\n");
}
// 获取所有需要插入的商品编号
Set<Integer> mysqlDingDanInsertNumber = insertNewNumber.keySet();
for (Integer i : mysqlDingDanInsertNumber) {
SBUpdateNumber.append("插入了新的商品编号为:" + i + "的商品-----此次插入的数量为:"
+ insertNewNumber.get(i) + "\r\n");
}
return SBUpdateNumber;
}
最后,当然是上图了
下面这张图是我仅仅实现了更新功能时候的测试
然后是执行更新与插入的图
这个小小的程序经过改了又改,虽然有点浪费时间,但是实现效果后,自己感觉还是挺开心的.....虽然已经很晚了,但是顿时感觉很清醒..........好,可以去睡觉了...........加油!,.......................
相关文章推荐
- java中连接数据库操作的语句,获得执行sql语句对数据库进行操作
- 利用dbcp数据库连接池连接数据库,并利用dbtuils框架对数据库test中book表进行插入、删除、修改、查询的操作。
- JAVA对MYSQL进行连接、插入、修改、删除操作
- vc++连接mysql数据库,并对数据库中的表进行查询、插入、删除、更新等
- 利用dbcp数据库连接池连接数据库,并利用dbtuils框架对数据库test中book表进行插入、删除、修改、查询的操作。book表结构如下:(id,name,price,author,descrip
- 利用dbcp数据库连接池连接数据库,并利用dbtuils框架对数据库test中book表进行插入、删除、修改、查询的操作代码
- 使用java连接mysql数据库进行数据的查询插入更新及删除
- python对MySQL进行数据的插入、更新和删除之后需要commit,数据库才会真的有数据操作。(待日后更新)
- JAVA对数据库进行操作,实现数据库中数据的插入,查询,更改,删除操作
- Python开发SQLite3数据库相关操作详解【连接,查询,插入,更新,删除,关闭等】
- 使用Java对数据库进行基本的查询和更新操作
- 基础--JAVA对Mysql进行连接、插入、修改、删除操作
- Java8下连接数据库进行增删改查(CRDU)操作
- JAVA对Mysql进行连接、插入、修改、删除操作
- JAVA对数据库进行操作,实现数据库中数据的插入,查询,更改,删除操作
- Java -- JDBC 学习--通过Statement进行数据库更新操作
- java操作数据库 存在就更新不存在就插入的优化操作
- 数据库操作:java连接MSSQL实例代码演示
- 数据库操作:java连接MYSQL实例代码演示
- java各种连接数据库与操作数据库方法