数据库存取对象


1 /*
2 * To change this template, choose Tools | Templates
3 * and open the template in the editor.
4 */
5
6 package objectintodb;
7
8 import java.io.ByteArrayInputStream;
9 import java.io.IOException;
10 import java.io.ObjectInputStream;
11 import java.io.ObjectOutputStream;
12 import java.io.PipedInputStream;
13 import java.io.PipedOutputStream;
14 import java.sql.Connection;
15 import java.sql.DriverManager;
16 import java.sql.PreparedStatement;
17 import java.sql.ResultSet;
18 import java.sql.SQLException;
19 import java.util.logging.Level;
20 import java.util.logging.Logger;
21
22 /**
23 *
24 * @author root
25 */
26 public class Main {
27
28 /**
29 * @param args the command line arguments
30 */
31 public static void main(String[] args) throws SQLException, ClassNotFoundException, IOException {
32 // TODO code application logic here
33 Connection conn=getConn();
34 java.sql.PreparedStatement pstmt=conn.prepareStatement("insert into user values (?)");
35
36 saveObject(new User("ty", "男", 20), pstmt, 1);
37 pstmt.execute();
38 ResultSet rs=conn.createStatement().executeQuery("select user from user");
39 User user=null;
40 while(rs.next())
41 {
42 user= (User)(readObject(rs, "user"));
43 }
44 rs.close();
45
46 System.out.println(user.getUname());
47
48 }
49
50
51
52
53 //保存对象
54 static void saveObject(User user,PreparedStatement pstmt,int paramterIndex)
55 {
56 PipedInputStream is=new PipedInputStream();
57 try {
58 ObjectOutputStream oout = new ObjectOutputStream(new PipedOutputStream(is));
59 oout.writeObject(user);
60 oout.close();
61 pstmt.setBinaryStream(1, is, is.available());
62 } catch (IOException ex) {
63 Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
64 }
65 catch (SQLException sx)
66 {
67 sx.printStackTrace();
68 }
69 }
70
71
72
73
74 //读取对象
75 static Object readObject(ResultSet rs,String column) throws ClassNotFoundException, IOException, SQLException
76 {
77 byte[] buf=rs.getBytes(column);
78 if(buf!=null)
79 {
80 ObjectInputStream objIn=new ObjectInputStream(new ByteArrayInputStream(buf));
81 return objIn.readObject();
82 }
83 return null;
84 }
85
86
87 static Connection getConn()
88 {
89 Connection conn=null;
90 try {
91 String driver = "com.mysql.jdbc.Driver";
92 String url = "jdbc:mysql://localhost:3306/user";
93 String username = "ty";
94 String pwd = "ty";
95 Class.forName(driver);
96 conn = DriverManager.getConnection(url, username, pwd);
97 } catch (SQLException ex) {
98 Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
99 } catch (ClassNotFoundException ex) {
100 Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
101 }
102
103
104 return conn;
105
106 }
107
108 }



存取的对象需要实现序列化借口
仓库收发存模版 根据应付账款余额及收料单第②联督促采购员报账——→审核签收采购员传来的采购发票、运费发票及收料单(④采购报账正联④采购报账副联)——→编制记账凭证并取下第④联副联留作配单 仓库收发存表,有单价 金额, 立即下载

相关推荐

库存收发存报表汇总统计数据库语句实现

1.库存盘点收发存汇总表业务逻辑。 2.使用mssql数据库语句实现。 3.实时查询可以得出查询时间段的材料编码对应的期初、入库数、出库数、期末库存。 4.一条sql语句即可实现。

关于mysql数据库中如何存储数组以及对象类型数据

MySQL 数据库是没有专门用于存储数组和对象的数据类型的哪么如何将数组以及对象存入数据库中呢?

SK_JF的博客 3518

用Python实现四叉树(quad tree)

import numpy as np #正方形类 class square: #lx、ly为左上角坐标(x对应行号,y对应列号),rx、ry为右下角坐标 def __init__(self,lx,ly,rx,ry): self.lx=lx self.ly=ly self.rx=rx self.ry=ry #检查该矩阵中是否满足条件 #参数:原矩阵,阈值 #返回值:布尔类型 def check(s

weixin_44164489的博客 5868

数据库原理 - 复习(二)

第四章 数据库安全性 数据库的数据保护主要包括数据的安全性和完整性。 4.1 数据库安全性概述 数据库的安全性是指保护数据库以防不合法使用所造成的数据泄露,更改或破坏。 安全性:去银行取钱需要输入密码 完整性:取的钱需要小于等于卡里面的钱 4.1.1 数据库的不安全因素 非授权用户对数据库的恶意存取和破坏 数据库中重要或敏感的数据被泄露 安全环境的脆弱性 4.2 数据库安全性控制 存取控制(AC–Acess Control) 自主存取控制方法(DAC): 用户对于不同的数据库对象有不同的存取权限,

Touale的博客 2937

一、5.8GHz射频接收机链路仿真

5.8GHz射频接收机链路仿真 一、5.8GHz射频接收机链路仿真 文章目录5.8GHz射频接收机链路仿真目的一、原理1、仿真工具2、二次下变频超外超接收机二、要求三、内容总结 目的   1、熟悉射频接收机整体结构。   2、学习使用MATLAB工具进行行为级仿真。   3、进行简单的通信链路预算。   4、直观感受接收机各个模块对整体性能的影响。   5、分析增益、线性度、噪声系数等参数。 一、原理 1、仿真工具   MATLAB是一款功能强大的数学软件,针对不同领域提供各种工具箱,帮助设计者快

平乾的博客 6761

利用HipSTR从二代测序数据中精准解析短串联重复序列(STR)的遗传多态性

本文详细介绍了如何利用HipSTR工具从二代测序(NGS)数据中精准解析短串联重复序列(STR)的遗传多态性。通过三步走策略,HipSTR能够高效识别STR区域、估算重复次数并判定基因型,适用于法医鉴定、疾病研究和细胞系鉴定等多个领域。文章还提供了实战操作指南和常见问题解决方案,帮助研究者充分利用NGS数据开展STR分析。

weixin_28702105的博客 483

数据库存储大对象

         在用Visual C 编写应用程序时,常会遇到如何存取数据库中大对象的问题。大对象文档以二进制数据形式保存在BLOB类型的字段中,这些大对象可能是Word、Execl或图片文件等,目前多数数据库都支持BLOB类型的字段。   VC存取这些大对象数据有众多方法,如OLE、ActiveX等,事实上VC的MFC提供了一个很方便的实现方法,即利用MFC提供的CLongBinary类可

Q_Jizi(七之子)的专栏 1879

从DDH到FastANI:原核生物分类黄金标准的进化史与技术对比

本文系统梳理了原核生物分类标准从DDH到FastANI的四次技术革命,详细解析了95%相似度阈值的科学依据及应用场景。通过对比DDH、16S rRNA、ANI和FastANI的技术特点与性能指标,为微生物研究者提供基因组分类的实战指南,并展望第三代测序时代的分类新挑战。

weixin_29275257的博客 414

ibatis中使用typeHandler保存java对象到数据库

保存java对象到数据库

u014775579的博客 664

告别设备管理器混乱!3分钟学会用STM32CubeMX+Zadig定制专属虚拟串口名称

本文详细介绍了如何利用STM32CubeMX和Zadig工具,为STM32的USB虚拟串口(VCP)定制专属设备名称,从而彻底解决多设备连接时设备管理器端口混乱的难题。通过修改产品字符串描述符并替换驱动,开发者可以在设备管理器中清晰识别不同开发板,显著提升调试效率,尤其适用于多设备协同的竞赛或项目开发场景。

a2b3c4d5e的博客 478

LSF0108 level shift设计使用及debug流程

目录 初版设计 测试出现的问题1 解决问题(尝试1) 测试出现的问题2 解决问题2-1 解决问题2-2 单Port测试结果 所有Port均连接测试结果 初版设计 此电路的应用场景在于将LCD屏幕连接到FPGA上,进而通过FPGA中设计的硬件电路来驱动LCD屏幕,验证数字硬件电路设计的正确性。因此需要一个转接板位于FPGA和LCD屏幕之间,将二者连接起来。 转接板的硬件电路设计主要存在以下需求: 实现3.3V和1.8V之间的同时双向逻辑转换(LCD屏幕电平为3.3V,FPGA电平为1.

moshanghongfeng的博客 7562

java 数据库中存储对象_如何在Java对象中存储数据

java 数据库中存储对象 上次更新时间:2020年1月 尽管贪睡按钮可能是闹钟上最常用的按钮,但即使是简单的AlarmClock类也需要更多功能。 例如,您可能想控制闹钟在小睡模式下停留多长时间。 为了添加这样的功能,您需要了解Java如何控制数据。 开发人员使用Java中的变量来保存数据,所有变量都具有数据类型和名称。 数据类型确定变量可以保存的值。 在本教程中,您将学习整数类型如何...

cxu0262的博客 2585

基于STM32的INA226电压电流检测仪

该功率检测装置以STM32F103C8T6微控制器为核心,集成功率检测、数据交互、状态显示和用户提示功能,通过模块化设计实现稳定运行。系统包括按键、LED指示灯、OLED屏幕、INA226电压电流检测、复位电路、晶振电路、蜂鸣器驱动、输入输出接口、调试接口和3.3V降压电路等模块。微控制器通过按键检测用户输入,启动功率检测,采集数据并通过OLED显示,异常情况触发蜂鸣器报警,LED状态指示同步反馈。3.3V降压电路为所有模块提供稳定电源,晶振电路确保时序精度。INA226芯片通过I2C接口与微控制器通信,实

a2784288164的博客 1910

mysql,sqlserver,oracle三种数据库的大对象存取

mysql 大对象存取:类型一般应该用mediumblod,blob只能存2的16次方个byte,mediumblod是24次方,一般来说够用了.longblob是32次方有些大.MYSQL默认配置只能存1M大小的文件,要修改配置,WIN版本的在mysql.ini文件中修改max_allowed_packet,net_buffer_length等几个参数,或直接SET GLOBAL varName

Beyond Ideas 1499

WPF+MVVM案例实战(一)- 设备状态LED灯变化实现

采用WPF+MVVM框架实现,MVVM框架使用CommunityToolkit.Mvvm 依赖包,代码案例部署了三个LED灯,按照红黄绿三色后台自动刷新状态进行变化,根据后台数据不同,UI层显示不同颜色。

lingshuangcanxue 1382

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

在DELPHI程序中使用ADO对象存取ODBC数据库

在DELPHI程序中使用ADO对象存取ODBC数据库 --------------------------------------------------------------------------------王发军  2003-6-28  来源:摆渡人工作室关键词:Delphi - MIS作为一个ASP爱好者,笔者经常在ASP页面中使用ADO对象操作ODBC数据库,觉得用ASP创建Web应用

zhaow139的专栏 736

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

讨论:不同数据库中如何存取大对象?

不同数据库中如何存取大对象? 数据库不一样,类型也不一样,这为编写通用的数据库访问增加了难度。谁有好的解决办法?

weixin_34250434的博客 77

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

转转转mysql,sqlserver,oracle三种数据库的大对象存取

原创 mysql,sqlserver,oracle三种数据库的大对象存取 收藏 mysql 大对象存取: 类型一般应该用mediumblod, blob只能存2的16次方个byte, mediumblod是24次方, 一般来说够用了.longblob是32次方有些大. MYSQL默认配置只能存1M大小的文件,要修改配置,WIN版本的在mysql.ini文件中 修改max_al...

iteye_7730的博客 166

用VC存取数据库中的大对象

在用Visual C++编写应用程序时,常会遇到如何存取数据库中大对象的问题。大对象文档以二进制数据形式保存在BLOB类型的字段中,这些大对象可能是Word、Execl或图片文件等,目前多数数据库都支持BLOB类型的字段。    VC存取这些大对象数据有众多方法,如OLE、ActiveX等,事实上VC的MFC提供了一个很方便的实现方法,即利用MFC提供的CLongBinary类可以方便地实现存取B

dongliqiang2006的专栏 624

关于PostgreSQL数据库的大对象存取

      PostgreSQL的文档中提到:可以通过客户端接口(Client Interfaces)和服务端函数(Server-Side Functions)两种方式处理大对象(Large Object)。  1.利用服务器端SQL函数存取大对象 在PostgresSQL数据库中,大对象(large object)被存储在系统表pg_largeobject中,通过唯一标识符OID来标识。

dreamcatcher的试验田 4723

DB4O 封装(面向对象数据库),采用泛型,支持任意对象存取,可移植性贼好! 哈哈...

自己封装的DB4O Template, 可很方便的进行对象保存,更新,级联更新及删除! 废话不多说, 自己看源码:   /**  * DB4OUtils.java  * com.dzg.ticket.util  *  *   ver     date       author  * ──────────────────────────────────  *   2012-2...

王者无双 181

asp的对象存取数据库的方法

在asp中,用来存取数据库的对象都称为ADO(Active Date Objects), 主要包含三种对象:Connection   Recordset     CommandConnection   :负责打开或连接数据库Recordset     :负责存取数据表Command     :负责对数据库执行动查询

风过留声 930

mysql 大对象存取_mysql,sqlserver,oracle三种数据库的大对象存取 (转)

mysql 大对象存取:类型一般应该用mediumblod,blob只能存2的16次方个byte,mediumblod是24次方,一般来说够用了.longblob是32次方有些大.MYSQL默认配置只能存1M大小的文件,要修改配置,WIN版本的在mysql.ini文件中修改max_allowed_packet,net_buffer_length等几个参数,或直接SET GLOBAL varName...

weixin_42527401的博客 230

mysql 大对象存取,mysql,sqlserver,oracle三种数据库的大对象存取

mysql,sqlserver,oracle三种数据库的大对象存取mysql大对象存取:类型一般应该用mediumblod,blob只能存2的16次方个byte,mediumblod是24次方,一般来说够用了.longblob是32次方有些大.MYSQL默认配置只能存1M大小的文件,要修改配置,WIN版本的在mysql.ini文件中修改max_allowed_packet,net_buffer_...

weixin_39633891的博客 190
上一篇: IO 文件夹的常用处理
下一篇: java 读取数据库 blob文件
Busing
博客等级 码龄18年 8粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值