JDBCstatement批量添加数据

本文展示了一个使用Java JDBC进行数据库插入操作的例子。通过将数据封装到Map中,然后使用PreparedStatement执行SQL插入语句,实现了向数据库表t48_emp中插入员工数据的功能。

 

public boolean insert(Map<String, String> map){

         boolean i = false;

         try {

              Class.forName("com.mysql.jdbc.Driver");

              Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db214", "root", "root");

              Statement stmt = conn.createStatement();

              

              String empno = map.get("empno");

              String ename = map.get("ename");

              String job = map.get("job");

              String sal = map.get("sal");

              String deptno = map.get("deptno");

              String sql="insert into t48_emp(empno,ename,job,sal,deptno) values("+empno+",'"+ename+"','"+job+"',"+sal+","+deptno+");";

              i = stmt.execute(sql);

              System.out.println(i);

              if(i){

                  System.out.println("数据插入成功");

              }else {

                  System.out.println("数据插入失败!");

              }

              return i;

         } catch (ClassNotFoundException | SQLException e) {

              // TODO Auto-generated catch block

              e.printStackTrace();

              return i;

         }

         

     }

 

public static void main(String[] args) {

         JdbcDao2 jd = new JdbcDao2();

         Map<String, String> map = new HashMap();

         map.put("empno", "10005");

         map.put("ename", "nihao");

         map.put("job", "clerk");

         map.put("sal", "1000");

         map.put("deptno", "20");

         jd.insert(map);

     }

 

java.sql.SQLException: java.io.IOException: 10.16.27.24:8902 Server response: Not allowed to create a void vector. RefId: 505005, script: CREATE TABLE type_test_tb (day SYMBOL , instrument SYMBOL , name SYMBOL NOT NULL, value DOUBLE PRECISION)at com.dolphindb.jdbc.JDBCStatement.executeUpdateInternal (JDBCStatement.java:java:260)at com.dolphindb.jdbc.JDBCStatement.executeUpdate (JDBCStatement.java:200)at org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils\(.createTable(JdbcUtils.scala:1273) at org.apache.spark.sql.execution.datasources.jdbc.JdbcRelationProvider.createTable(JdbcRelationProvider.scala:86) at org.apache.spark.sql.execution.datasources.SaveIntoDataSourceCommand.run(SaveIntoDataSourceCommand.scala:46) at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult\)lzycompute(commands.scala:70)at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult(commands.scala:68)at org.apache.spark.sql.execution.command.ExecutedCommandExec.doExecute(commands.scala:90)at org.apache.spark.sql.execution.SparkPlan.anonfunexecute\(1(SparkPlan.scala:175) at org.apache.spark.sql.execution.SparkPlan.\)anonfun$executeQuery\(1(SparkPlan.scala:213) at org.apache.spark.rdd.RDDOperationScope\).withScope(RDDOperationScope.scala:151)at org.apache.spark.sql.execution.SparkPlan.executeQuery(SparkPlan.scala:210)at org.apache.spark.sql.execution.SparkPlan.execute(SparkPlan.scala:171)at org.apache.spark.sql.execution.QueryExecution.toRdd\(lzycompute(QueryExecution.scala:134) at org.apache.spark.sql.execution.QueryExecution.toRdd(QueryExecution.scala:133) at org.apache.spark.sql.DataFrameWriter.\)anonfun$runCommand\(1(DataFrameWriter.scala:963) at org.apache.spark.sql.execution.SQLExecution\).anonfunwithNewExecutionId\(5(SQLExecution.scala:102) at org.apache.spark.sql.execution.SQLExecution\).withSQLConfPropagated(SQLExecution.scala:169)at org.apache.spark.sql.execution.SQLExecution\(.\)anonfun$withNewExecutionId$1(SQLExecution.scala:89)at org.apache.spark.sql.SparkSession.withActive(SparkSession.scala:787)at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:66)at org.apache.spark.sql.DataFrameWriter.runCommand(DataFrameWriter.scala:963)at org.apache.spark.sql.DataFrameWriter.saveToV1Source(DataFrameWriter.scala:415)at org.apache.spark.sql.DataFrameWriter.save(DataFrameWriter.scala:399)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)at py4j.Gateway.invoke(Gateway.java:282)at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)at py4j.commands.CallCommand.execute(CallCommand.java:79)at py4j.GatewayConnection.run(GatewayConnection.java:238)什么原因,怎么解决
07-26
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值