java如何向数据库中插入数据_如何控制Java代码向数据库中插入数据

ff3119ab40cfa4eef2245e8fae4e92eb.png

慕哥6287543

Java程序向数据库中插入数据,代码如下:1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798//首先创建数据库,(access,oracle,mysql,sqlsever)其中之一,其中access,sqlsever需要配置数据源(odbc);//然后再eclipse中创建类(ConnDb,Test,TestBean)ConnDb功能为连接数据库,查询,插入,删除,修改数据的类,Test为含有main方法的测试类,TestBean为数据表中的字段属性及set,get方法//以下是ConnDb代码:package db;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;public class ConnDb {public Connection startConn(Connection conn){  try {   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");   conn = DriverManager.getConnection("jdbc:odbc:数据库","用户名", "密码");  } catch (Exception e) {   System.out.println("连接数据库时出现错误");  }  return conn; }   public ArrayList executeQuery(String sql){  Connection conn = null;  Statement stmt = null;  ResultSet rs = null;  ArrayList list = new ArrayList();  try {   conn = startConn(conn);   stmt = conn.createStatement();   rs = stmt.executeQuery(sql);//sql为sql语句例如"select * from 表名",从main方法中传进来,这里用的是ArrayList 类将查询结果存储起来   while(rs.next()){    TestBean tb = new TestBean();    tb.setTid(rs.getString("tid"));    tb.setTname(rs.getString("tname"));    tb.setTinfo(rs.getString("tinfo"));    list.add(tb);   }  } catch (SQLException e) {   // TODO Auto-generated catch block   e.printStackTrace();  }finally{   closeConn(rs,stmt,conn);  }  return list; }  public void executeUpdate(String sql){  Connection conn = null;  Statement stmt = null;  try {   conn = startConn(conn);   stmt = conn.createStatement();   stmt.executeUpdate(sql);  } catch (SQLException e) {   System.out.println("修改,插入或者删除数据库数据时发生错误!");  }finally{   closeConn(stmt,conn);  } } public void closeConn(ResultSet rs,Statement stmt,Connection conn){  try {   if(rs != null){    rs.close();   }   if(stmt != null){    stmt.close();   }   if(conn != null){    conn.close();   }  } catch (SQLException e) {   // TODO Auto-generated catch block   System.out.println("关闭数据库的时候发生错误!");  } } public void closeConn(Statement stmt,Connection conn){  try {   if(stmt != null){    stmt.close();   }   if(conn != null){    conn.close();   }  } catch (SQLException e) {   // TODO Auto-generated catch block   System.out.println("关闭数据库的时候发生错误!");  } }} 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
想要Java向MySQL批量存储数据,可以通过以下步骤实现: 1. 创建MySQL数据库和表,确保表的字段与Java数据对象的属性一一对应。 2. 在Java,使用JDBC连接MySQL数据库。 3. 使用PreparedStatement对象预编译SQL语句,例如: ``` String sql = "INSERT INTO table_name (column1, column2, column3) VALUES (?, ?, ?)"; PreparedStatement statement = connection.prepareStatement(sql); ``` 4. 创建一个List,将需要插入数据对象添加到List。 5. 循环遍历List,对于每个数据对象,使用PreparedStatement设置参数,最后将PreparedStatement添加到批处理,例如: ``` for (DataObject data : dataList) { statement.setString(1, data.getProperty1()); statement.setInt(2, data.getProperty2()); statement.setDouble(3, data.getProperty3()); statement.addBatch(); } ``` 6. 执行批处理,将数据批量插入到MySQL,例如: ``` int[] result = statement.executeBatch(); ``` 完整的Java代码示例: ``` String sql = "INSERT INTO table_name (column1, column2, column3) VALUES (?, ?, ?)"; PreparedStatement statement = connection.prepareStatement(sql); List<DataObject> dataList = getDataList(); for (DataObject data : dataList) { statement.setString(1, data.getProperty1()); statement.setInt(2, data.getProperty2()); statement.setDouble(3, data.getProperty3()); statement.addBatch(); } int[] result = statement.executeBatch(); ``` 注意事项: - 执行批处理前,需要关闭自动提交模式,即使用`connection.setAutoCommit(false)`。 - 执行完批处理后,需要手动提交事务,即使用`connection.commit()`。 - 执行批处理前,建议先关闭索引,执行完成后再重新开启索引,可以提高插入效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值