java如何实现每20条数据选择一条入库?

java如何实现每20条数据选择一条入库?,第1张

可以使用java中的模块化编程思想,分成两个模块,一个模块用来收集数据,将收集到的数据存储在一个数组中,另一个模块用来处理每20条数据中选择一条进行入库

1.收集数据:// 声明一个数组,用于存储收集到的数据String[] dataArray = new String[20]// 循环收集数据,每次收集20条for(int i=0i<20i++){    dataArray[i] = getDataFromSource()}

2.处理数据:// 随机生成一个数字,作为要入库的数据的索引int index = (int)(Math.random() * 20)// 取出要入库的数据String data = dataArray[index]// 将数据入库insertDataIntoDB(data)

1.提取单条记录

//import java.sql.*

Connection conn=null

Statement stmt=null

ResultSet rs=null

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")

String url="jdbc:odbc:%%1"

con=DriverManager.getConnection(url,%%2,%%3)

stmt=conn.createStatement()

stmt.executeUpdate(%%4)

rs=stmt.executeQuery(%%5)

}catch(Exception e){

e.printStackTrace()

}

finally{

try {

if(rs!=null)

rs.close()

if(stmt!=null)

stmt.close()

if(conn!=null)

conn.close()

} catch (SQLException e) {

e.printStackTrace()

}

}

3.显示表格

/*

import java.awt.*

import javax.swing.*

import java.sql.*

import javax.swing.table.*

*/

String[] colHeads=%%4

Connection conn=null

Statement stmt=null

ResultSet rs=null

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")

String url="jdbc:odbc:%%1"

conn=DriverManager.getConnection(url,%%2,%%3)

stmt=conn.createStatement()

rs=stmt.executeQuery("SELECT count(*) as au_count from "+%%5)

rs.next()

int iCount=rs.getInt("au_count")

Object[][] data=new Object[iCount][]

int i=0

rs=stmt.executeQuery("SELECT * from "+%%5)

while(rs.next()){

data[i]=new Object[iCount]

data[i][0]=rs.getString("au_fname")

data[i][1]=rs.getString("Phone")

data[i][2]=rs.getString("City")

i++

}

JTable table=new JTable(data,colHeads)

JScrollPane jsp=new JScrollPane(table)

getContentPane().add(jsp)

}catch(Exception e){

e.printStackTrace()

}

finally{

try {

if(rs!=null)

rs.close()

if(stmt!=null)

stmt.close()

if(conn!=null)

conn.close()

} catch (SQLException e) {

e.printStackTrace()

}

}

6.关闭时关闭连接

//import java.sql.*

addWindowListener(new WindowAdapter{

public void windowClosing(WindowEvent wevent){

if(stmt!=null){

try {

if(rs!=null)

rs.close()

if(stmt!=null)

stmt.close()

if(conn!=null)

conn.close()

} catch (SQLException e) {

e.printStackTrace()

}

}

7.执行命令

//import java.sql.*

Connection conn=null

PreparedStatement pst=null

try {

conn=DriverManager.getConnection(url)

pst=conn.prepareStatement("Insert Into grade(%%1) Values (?)")

pst.setInt(1,%%2)

//pst.setString(2,%%2)

pst.addBatch()

pst.executeBatch()

} catch (SQLException e){

e.printStackTrace()

}

finally{

try {

if (pst != null)

pst.close()

if (conn != null)

conn.close()

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace()

}

}

保存字节数组到数据库分两步:

第一、利用FileInputStream.read(byte[])方法把内容读取到byte[]数组中,比如图片是由二进制数组成的,就可以定义为一个字节数组。

第二、在数据库中对应记录字段应该设置为blob类型,这样就能够顺利保存了

事例代码如下:

PreparedStatement stmt = connection.generatePreparedStatement("INSERT INTO ... ")

stmt.setBytes(1, yourByteArray)

其中,yourByteArray是你读出来的字符数组。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11498264.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存