|
代码
- int[] numList={213,324,453};
- String cats[] = new String[] {"Tom","Sam","Mimi" };
-
- long startTime=System.currentTimeMillis();
- Connection conn=null;
- try{
- conn=com.justep.model.ModelUtils.getConnectionInTransaction("/cgspm/randomCheck/data");
- conn.setAutoCommit(false);
- PreparedStatement stmt=conn.prepareStatement("insert into T_PM_CCXHB t (t.FID,t.VERSION,t.FXMID,t.FCCPC,t.FCCXH) values (?,?,?,?,?)");
-
- int num=0;
- for(int k = 0;k<numList.length;k++){
- num++;
- stmt.setString(1, java.util.UUID.randomUUID().toString().replaceAll("-", ""));
- stmt.setInt(2, 0);
- stmt.setString(3, cats[k]);
- stmt.setString(4, ccpc);
- stmt.setInt(5, numList[k]);
- stmt.addBatch();
- //注意: 每5万,提交一次;这里不能一次提交过多的数据,我测试了一下,6万5000是极
- //限,6万6000就会出问题,插入的数据量不对。
- if(num>50000){
- stmt.executeBatch();
- conn.commit();
- num=0;
- }
- }
- stmt.executeBatch();
- conn.commit();
- }catch(Exception e){
- try {
- conn.rollback();
- } catch (SQLException e1) {
- e1.printStackTrace();
- }
- e.printStackTrace();
- }finally{
- // closeConnection(conn);
- try {
- conn.close();
- } catch (SQLException e2) {
- e2.printStackTrace();
- }
- long endTime=System.currentTimeMillis();
- System.out.println("方法执行时间:"+(endTime-startTime)+"ms");
- }
复制代码
报错如下:
java.sql.SQLException: 模型事务下不支持Connection上的rollback
at com.justep.system.data.Transaction$CoreConnection.rollback(Unknown Source)
at com.justep.system.data.ConnectionWrapper.rollback(Unknown Source)
at RandomCheck.getCcxh(RandomCheck.java:227)
at RandomCheck.getScore(RandomCheck.java:162)
at RandomCheck.startCheck(RandomCheck.java:77)
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:497)
at com.justep.system.action.Engine.invokeActions(Native Method)
at com.justep.system.action.Engine.invokeActions(Unknown Source)
at com.justep.business.server.BusinessServer.doAction(Unknown Source)
at com.justep.business.server.BusinessServer.doExcute(Unknown Source)
at com.justep.business.server.BusinessServer.excute(Unknown Source)
at com.justep.business.server.BusinessServer.excute(Unknown Source)
at com.justep.business.server.BusinessServerServlet.execService(Unknown Source)
at com.justep.business.server.BusinessServerServlet.service(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at com.justep.x.bs.BusinessServerServlet.service(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:745)
java.sql.SQLException: 模型事务下不支持Connection上的setAutoCommit
at com.justep.system.data.Transaction$CoreConnection.setAutoCommit(Unknown Source)
at com.justep.system.data.ConnectionWrapper.setAutoCommit(Unknown Source)
at RandomCheck.getCcxh(RandomCheck.java:202)
at RandomCheck.getScore(RandomCheck.java:162)
at RandomCheck.startCheck(RandomCheck.java:77)
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:497)
at com.justep.system.action.Engine.invokeActions(Native Method)
at com.justep.system.action.Engine.invokeActions(Unknown Source)
at com.justep.business.server.BusinessServer.doAction(Unknown Source)
at com.justep.business.server.BusinessServer.doExcute(Unknown Source)
at com.justep.business.server.BusinessServer.excute(Unknown Source)
at com.justep.business.server.BusinessServer.excute(Unknown Source)
at com.justep.business.server.BusinessServerServlet.execService(Unknown Source)
at com.justep.business.server.BusinessServerServlet.service(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at com.justep.x.bs.BusinessServerServlet.service(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:745)
|
|