在java中,如何从多个run()方法将记录插入数据库?
在我的项目中,我使用了多种运行方法 在每个run方法中,我得到一个值,所以我想将该值插入到oracledb中 我在每次运行中都编写了DB插入代码,但它只存储第一次运行的方法值,其余的运行方法值未插入在java中,如何从多个run()方法将记录插入数据库?,java,multithreading,jdbc,Java,Multithreading,Jdbc,在我的项目中,我使用了多种运行方法 在每个run方法中,我得到一个值,所以我想将该值插入到oracledb中 我在每次运行中都编写了DB插入代码,但它只存储第一次运行的方法值,其余的运行方法值未插入 所以,请给我一些建议,将多线程值存储到数据库中。首先,您的问题不太清楚,但下面是测试您案例的示例程序: 要点: 1.检查是否可以根据线程数使用具有一定池大小的数据库连接池。 2.提交您的更改 3.关闭您的连接。 公共类多线程数据库条目 { 请张贴代码的相关部分,删除任何凭证信息,否则任何人都无法帮助
所以,请给我一些建议,将多线程值存储到数据库中。首先,您的问题不太清楚,但下面是测试您案例的示例程序: 要点: 1.检查是否可以根据线程数使用具有一定池大小的数据库连接池。 2.提交您的更改 3.关闭您的连接。 公共类多线程数据库条目 {
请张贴代码的相关部分,删除任何凭证信息,否则任何人都无法帮助您。
public static void main(String[] args)
{
new Thread(new DBJob()).start();
new Thread(new DBJob()).start();
}
public static class DBJob implements Runnable
{
public DBJob()
{
}
@Override
public void run()
{
Connection conn = null;
Statement stmt = null;
try
{
conn = getConnection();
if(conn != null)
{
//Do your database operation
}
}
catch (SQLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
//finally block used to close resources
try{
if(stmt!=null)
stmt.close();
}catch(SQLException se2){
}// nothing we can do
try{
if(conn!=null)
conn.commit();
conn.close();
}catch(SQLException se){
se.printStackTrace();
}//end finally try
}//
}
}
//Here you can use different database connection pooling mechanism from Apache DBCP, Tomcat Pool etc
public static Connection getConnection() throws SQLException
{
Connection conn = null;
Statement stmt = null;
try{
Class.forName("com.mysql.jdbc.Driver");
System.out.println("Connecting to database...");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
}
catch(Exception e)
{
//Handle errors for Class.forName
e.printStackTrace();
}
return conn;
}
}