java执行批处理,如果有一条数据报错怎么确定是那条错误数据 20C

我想把oracle中的数据全部导进其他的数据库,现在由于数据量过大,所以我选择了批处理,但是如果有一条数据报错,那么全部数据都不能执行成功,而且commit后直接
报错了循环也中断了,请问我该怎么处理
本人菜鸟,求各位大佬帮助
![图片说明](https://img-ask.csdn.net/upload/201801/25/1516874379_459570.png)图片说明

16个回答

你下面不是有logger.info这行代码 这是可以捕捉到异常的 ,看异常一点一点分析吧。

“如果有一条数据报错,那么全部数据都不能执行成功”,这个可以用oracle事务。

java倒是不大了解,应该可以根据oracle返回值判断事务是否执行成功,然后中断吧。

你看看报错信息,应该会有相关的SQL语句信息在里面,然后你再去找对应的SQL了。

查看日志文件,找对应的错误

报错之前打印出来。或者存在局部变量中,catch异常之后,把这个局部变量的值打印出来。
例如:

String s=null;
try
{
x=next-data();
xxxxx
其他处理代码。
xxxx

}catch(Exception e){
这里打印s即可。
}

你这里应该可以只记录索引 i 。异常时打印出来。

事务的特性,你虽然1000条执行一次,但是没有提交,如果有一条报错肯定都回滚了,你可以1000条执行一次,然后马上提交,这样如果一个批次出现异常,那么只会影响
这1000条,这1000条会回滚,然后查看后台日志,看看具体是哪一条

图片说明
这是我打印的SQL。
我是想把所有的数据导进新的库中,其中我还要对数据进行相应的改变,所以需要写这个程序。
其次我要执行的任务是晚上下班时,将程序跑起来,然后第二天所有程序导进新的数据库,然后错误的数据能够打印到日志里面。

可以程序验证数据有效性,有误的log、跳过。

有人给我说过可以自定义异常,这样只要能定到是那条数据有错了,能拿到错误的Object数组就好处理了,所以想问问,到底该怎么做

共16条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
PreparedStatement类的批处理问题

public class Batch { public void batchAdd(){ Connection con=null; PreparedStatement stmt=null; String sql=null; try{ sql = "insert into emp(empno, ename, sal) values(?,?,?)"; con=ConnectionSource.getConnection(); stmt=con.prepareStatement(sql); //关闭自动提交 con.setAutoCommit(false); for(int i=1000;i<105;i++){ stmt.setInt(1, i); stmt.setString(2, "name"+i); stmt.setDouble(3, new Random().nextInt(10000)); // 加入到Batch中 stmt.addBatch(); } //执行批处理 stmt.executeBatch(); //提交 con.commit(); }catch(SQLException e){ System.out.println("数据库访问异常"); throw new RuntimeException(e); }finally{ try{ if(stmt!=null){ stmt.close(); } if(con!=null){ con.close(); } }catch(SQLException e){ System.out.println("释放资源时发生异常"); } } } 写了个 PreparedStatement类的批处理 运行后不会报错 但是数据库中也没有数据!不知道什么原因?难道是因为PreparedStatement的占位符放在for的原因吗?求解!

Java向SQL server插入数据报错

这个是连接数据库的DB ![图片说明](https://img-ask.csdn.net/upload/201607/07/1467861489_291557.png) 这个是执行操作的action中的注册方法 ![图片说明](https://img-ask.csdn.net/upload/201607/07/1467861499_416043.png) 报错 ![图片说明](https://img-ask.csdn.net/upload/201607/07/1467861509_671315.png)

jdbc批处理的addBatch问题

``` preparedstatement = connection.prepareStatement(sql.toString()); for (int i = 0; i < list.size(); i++) { Map map = list.get(i); Set<Entry> entries = map.entrySet(); for (Entry entry : entries) { preparedstatement.setString(size, entry.getValue().toString()); size++; } preparedstatement.addBatch(); if(++count % DB_BATCHSIZE == 0){ preparedstatement.executeBatch(); } } preparedstatement.executeBatch(); ``` sql语句没有问题, 因为已经执行成功, 但是!!! 只能执行一条数据 list如果只有1条数据则执行成功 , 如果超过1条,报错 错误为 索引中丢失 IN 或 OUT 参数 ::10 搞了一天了没弄明白, 求解

java 保存clob类型数据是报错怎么解决

实体类型: ``` /** *方法: 取得java.lang.Clob *@return: java.lang.Clob 学习内容 */ @Column(name ="STUDY_CONTENT",nullable=true,length=4000) public java.sql.Clob getStudyContent() { return studyContent; } /** *方法: 设置java.lang.Clob *@param: java.lang.Clob 学习内容 */ public void setStudyContent(java.sql.Clob studyContent) { this.studyContent = studyContent; } ``` 数据库字段: ![图片说明](https://img-ask.csdn.net/upload/201611/15/1479196609_159328.png) 报错信息: ``` [org.jeecgframework.core.common.exception.GlobalExceptionResolver]全局处理异常捕获: org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errors Field error in object 'djIntStudyEntity' on field 'studyContent': rejected value [<p>学习内容</p>]; codes [typeMismatch.djIntStudyEntity.studyContent,typeMismatch.studyContent,typeMismatch.java.sql.Clob,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [djIntStudyEntity.studyContent,studyContent]; arguments []; default message [studyContent]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'java.sql.Clob' for property 'studyContent'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [java.lang.String] to required type [java.sql.Clob] for property 'studyContent': no matching editors or conversion strategy found] at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doBind(HandlerMethodInvoker.java:818) at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolveHandlerArguments(HandlerMethodInvoker.java:367) at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:171) at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:436) at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:424) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789) at javax.servlet.http.HttpServlet.service(HttpServlet.java:646) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.jeecgframework.core.aop.GZipFilter.doFilter(GZipFilter.java:49) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:140) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.springframework.orm.hibernate4.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:119) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) ```

关于java调用cmd执行批处理和获取控制台输出的问题

``` package cn.zjcscut.compile.cmd; import cn.zjcscut.compile.cmd.util.ClassUtils; import cn.zjcscut.compile.cmd.util.StreamGobbler; import cn.zjcscut.freemarker.classUtils.ClassLoader; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import java.io.*; /** * @author zjc * @version 2016/7/15 23:09 * @function */ public class DynamicCompileWithCmd { private static final Logger log = LogManager.getLogger(DynamicCompileWithCmd.class); private static final String SAVEPATH = ClassLoader.getUserDir() + "/bin/source/"; private static final String CLASSSUFFIX = ".java"; private static final String BATSUFFIX = ".bat"; private String className; private String result; public void save(String content) { className = ClassUtils.getClassNameFromSourceCode(content); if (StringUtils.isEmpty(className)) { log.error("获取类名失败,估计是类的结构出现异常"); throw new RuntimeException("class format error,please check it!"); } String realFile = SAVEPATH + className + CLASSSUFFIX; File file = new File(realFile); if (!file.exists()) { file.getParentFile().mkdirs(); //不存在就创建 } BufferedWriter bf = null; FileWriter fw = null; try { fw = new FileWriter(file); bf = new BufferedWriter(fw); bf.write(content); bf.close(); fw.close(); } catch (Exception e) { log.error("写入源代码生成.java文件失败"); throw new RuntimeException("create java file failed"); } finally { if (bf != null) { try { bf.close(); } catch (IOException e) { e.printStackTrace(); } } if (fw != null) { try { fw.close(); } catch (IOException e) { e.printStackTrace(); } } } } private String createBatFile(String className) { String realFile = SAVEPATH + className + BATSUFFIX; File file = new File(realFile); if (!file.exists()) { file.getParentFile().mkdirs(); //不存在就创建 } String compile = "javac " + className + CLASSSUFFIX + " \n"; String cd = "cd " + SAVEPATH + " \n"; String run = "java " + className + " \n"; BufferedWriter bf = null; FileWriter fw = null; try { fw = new FileWriter(file); bf = new BufferedWriter(fw); bf.write(cd + compile + run); bf.close(); fw.close(); return realFile; } catch (Exception e) { log.error("写入bat文件失败"); throw new RuntimeException("create bat file failed"); } finally { if (bf != null) { try { bf.close(); } catch (IOException e) { e.printStackTrace(); } } if (fw != null) { try { fw.close(); } catch (IOException e) { e.printStackTrace(); } } } } private static Process process;//执行子进程 public String execute(String content) { save(content); String batName = createBatFile(className); Runtime runtime = Runtime.getRuntime(); BufferedWriter bw = null; try { // Thread.sleep(1000); //防止cmd.exe程序未启动,当然也可以直接使用javac命令 // bw = new BufferedWriter(new OutputStreamWriter(process.getOutputStream())); // String compile = "javac " + SAVEPATH + className + CLASSSUFFIX + " \n"; // String run ="java " + SAVEPATH + className + " \n"; long startFreeMemory = runtime.freeMemory(); //记录开始执行命令前的空闲内存 long startCurrentTime = System.currentTimeMillis(); // bw.write("java " + SAVEPATH + className + " \n"); // bw.write(compile + " & " + run); // bw.flush(); // bw.close(); // "cmd.exe /C start /b " process = runtime.exec("cmd.exe /C start /b " + batName); //合并流 SequenceInputStream sis = new SequenceInputStream(process.getInputStream(),process.getErrorStream()); InputStreamReader isr = new InputStreamReader (sis, "GBK"); BufferedReader br = new BufferedReader(isr); String line = null; while (null != ( line = br.readLine () )) { System.out.println (line); } process.destroy (); br.close (); isr.close (); process.waitFor(); int sign = process.exitValue(); if (sign == 0) { System.out.println("执行成功"); } else { System.out.println("执行失败"); } // StreamGobbler outGobbler = new StreamGobbler(process.getInputStream(), "STDOUT"); // Thread thread1 = new Thread(outGobbler); // thread1.start(); // new Thread(new Runnable() { // @Override // public void run() { // try { // // String s = null; // BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream())); // while ((s = br.readLine()) != null) { // System.out.println(s); // result += s; // } // } catch (java.lang.Exception e) { // e.printStackTrace(); // } // } // }).start(); // // new Thread(new Runnable() { // @Override // public void run() { // try { // // String s = null; // BufferedReader br = new BufferedReader(new InputStreamReader(process.getErrorStream())); // while ((s = br.readLine()) != null) { // System.out.println("error -- " + s); // } // } catch (java.lang.Exception e) { // e.printStackTrace(); // } // } // }).start(); // StreamGobbler errorGobbler = new StreamGobbler(process.getErrorStream(), "ERROR"); // Thread thread = new Thread(errorGobbler); // thread.start(); // Thread thread = new Thread(new RuntimeResultThread()); // thread.start(); // String s = null; // BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream())); // while ((s = br.readLine()) != null) { // System.out.println(s); // result += s; // } // // br.close(); // System.out.println(batName); // InputStream in = process.getInputStream(); // // int c; // while ((c = in.read()) != -1) { // System.out.print("输出---" + c);//如果你不需要看输出,这行可以注销掉 // } // in.close(); //获取控制台输出结果 // Thread thread = new Thread(new RuntimeResultThread()); // thread.start(); long endCurrentTime = System.currentTimeMillis(); long endFreeMemory = runtime.freeMemory(); double useMemory = (startFreeMemory - endFreeMemory) / 1024; long useTime = endCurrentTime - startCurrentTime; result += "\n\ncost time : " + useTime + " ms" + ", cost memory : " + useMemory + " mb"; return result; } catch (Exception e) { e.printStackTrace(); } finally { if (bw != null) { try { bw.close(); } catch (IOException e) { e.printStackTrace(); } } } return null; } private class RuntimeResultThread implements Runnable { @Override public void run() { BufferedReader br = null; String content = null; try { br = new BufferedReader(new InputStreamReader(process.getInputStream(), "GBK")); while ((content = br.readLine()) != null) { System.out.println("content" + content); result += content; } br.close(); } catch (Exception e) { log.error("获取控制台输出失败"); e.printStackTrace(); } finally { if (br != null) { try { br.close(); } catch (IOException e) { e.printStackTrace(); } } } } } } ``` 上边的代码是为了实现动态编译和执行输入的java源码,原理是先把.java和bat文件输出到工作目录下的一个文件夹,调用cmd编译.java文件,再执行.class。现在出现一个问题,就是获取控制台输出的时候总是阻塞,google这个问题说是process的getErrorStream缓冲没有清空,导致一直阻塞,需要使用多线程操作,但是用了多线程发现,process的getInputStream部分信息丢失了。 ![图片说明](https://img-ask.csdn.net/upload/201607/16/1468647055_939794.png) 想请教有什么解决方法 ?

求助!Java调用批处理文件后无法执行

我想用Java调用批处理打开.exe安装包,但是安装包无法打开或者说直接跳过了打开![图片说明](https://img-ask.csdn.net/upload/201605/12/1463036938_791616.png) 上面是我的Java代码 ![图片说明](https://img-ask.csdn.net/upload/201605/12/1463036973_537181.png) 执行后没有打开。exe文件!但是我单独打开批处理文件就完全没问题 ![图片说明](https://img-ask.csdn.net/upload/201605/12/1463037152_954326.png) 这是我的批处理文档! 哪位大神帮帮忙啊!!!!

如果避免Java程序中外接接口报错时,还能继续执行程序

Java程序中某个方法,调用了类似支付宝、GPS等一些接口,如果这些平台崩溃了,或者平台自己出现了问题,怎样才能在程序中规避这些报错,继续执行下面的方法???

JAVA中使用JDBC做批量处理时,没有报错,但是数据没有插入数据库 插入数据显示0条

Connection conn=getConnection(); int row=0; try{ String sql ="insert into BOOKS(book_name,price,amount,author) values(?,?,?,?)"; PreparedStatement ps = conn.prepareStatement(sql); for(int i=1;i<4;i++){ ps.setString(1,"三体"+i); ps.setInt(2,i*100); ps.setInt(3,i*10); ps.setString(4,"刘慈欣"); ps.addBatch(); } int[] rows=ps.executeBatch(); // conn.commit(); row=rows.length; ps.close(); conn.close(); }catch(SQLException e){ e.printStackTrace(); } 返回的 row 为0 求大神帮忙看一下!!

为什么通过事务执行批处理会超时呢?

近期在做项目的时候遇到了一个问题,我在dao的实现层做了三个操作都放在传过来的update方法,并携带参数,一个进行修改值,一个进行删除值,一个进行增加,其中增加是传过来list集合,其中放了一些增加的sql语句对其进行批处理,但是为什么每次进行到这里进行批处理操作时候就会超时,然后就报超时的错误。求大神解决一下啊。

java web项目里用 java Runtime 执行 java命令报错

部署在本机(Windows)的tomcat上的web项目 ``` Runtime runtime = Runtime.getRuntime(); String[] strings = {"cd\\ \n","F: \n","cd "+path+"\n","javac "+className+".java\n","java "","cd "+path+"\n", Process process = runtime.exec("cmd"); bw = new BufferedWriter(new OutputStreamWriter(process.getOutputStream())); for(int i = 0;i < strings.length;i++){ bw.write(strings[i]); bw.flush(); } bw.close(); ``` javac 命令成功执行了,但java className 命令确报错 找不到或无法加载主类 同样的代码在本地 eclipse上能成功执行 求问 是什么原因

JAVA中使用JDBC做批量处理时,没有报错,但是数据没有插入数据库

@Override public void addAllEmp(List<Employee> employees) { Connection conn = null; PreparedStatement pst = null; try { conn = JDBCUtil.getConnect(); conn.setAutoCommit(false); pst = conn.prepareStatement("insert into jdbc_emp values(jdbc_emp_id.nextval,?,?,?"); int count = 0; for (Employee employee : employees) { pst.setString(1, employee.getName()); pst.setString(2, employee.getPassword()); pst.setDouble(3, employee.getSal()); count++; if (count==100) { //执行批处理 pst.executeBatch(); //清空参数 pst.clearParameters(); count = 0; } } pst.executeBatch(); conn.commit(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { /*if (conn != null) { try { conn.rollback(); } catch (SQLException e1) { e1.printStackTrace(); } }*/ // TODO Auto-generated catch block e.printStackTrace(); }finally{ JDBCUtil.close(conn, pst); }

程序不报错,但是无法执行

package test4; import java.util.Scanner; public class Hero{ private String name; public int health; private int grade; public Hero() { this.health=100; this.grade=1; System.out.println("请输入英雄的名字:"); Scanner scan=new Scanner(System.in); this.name=scan.nextLine(); print(); } public void print() { System.out.println("Hero信息:"); System.out.println("姓名:"+this.name); System.out.println("生命值:"+health); System.out.println("等级:"+grade); System.out.println("----------------------------------------------------"); } }

关于java 中执行linux中export 报错的问题

String shell ="export LD_LIBRARY_PATH=/opt/glibc-2.14/lib"; 我在 java 里面执行这个shell 但是 告诉我 ![图片说明](https://img-ask.csdn.net/upload/201702/28/1488251795_420105.png) 这样的报错 我该怎么解决。。。

cmd javac编译出错java和java -version 不报错

求大神指导:在cmd中执行java和java -version 不报错,但是执行javac时报错

java 读写OPC服务器数据报错

![图片说明](https://img-ask.csdn.net/upload/201709/04/1504486971_80234.png)

java的sql复制在数据库里能执行,但是运行还是报错啊

![图片说明](https://img-ask.csdn.net/upload/201807/11/1531295730_859866.png) 这个sql在数据库是能执行的但是还是报错

Java执行RabbitMQ的.bat文件报错

用Runtime类执行RabbitMQ的rabbitmq-server.bat文件, 拿到输入流后在控制台输出了“环境变量没有正确配置”: ![图片说明](https://img-ask.csdn.net/upload/201809/21/1537519219_41138.png) 但是事实情况是我已经在环境变量里配置了ERLANG_HOME了,且直接双击rabbitmq-server.bat可以运行RabbitMQ。 ![图片说明](https://img-ask.csdn.net/upload/201809/21/1537519258_920812.png) 求解答。

insert语句在pl/sql中替换数据可以执行,但是java中却报错

java语句: public int initiating(String title, String content, String numberLimit,String fkCustomerId) { String pkId = "44"; String sql="insert into ACTIVITY_INFO (pk_id,title,content,fk_customer_id,number_limit,create_date) values(:pkId,:title,:content,:fkCustomerId,:numberLimit,sysdate)"; Query query = this.getSession().createQuery(sql); query.setParameter("pkId", pkId); query.setParameter("title", title); query.setParameter("content", content); query.setParameter("fkCustomerId", fkCustomerId); query.setParameter("numberLimit", numberLimit); int num = query.executeUpdate(); return num; } 报错信息: 严重: Servlet.service() for servlet [springMvc] in context with path [/CREOAMS] threw exception [Request processing failed; nested exception is org.hibernate.hql.ast.QuerySyntaxException: unexpected token: values near line 1, column 89 [insert into ACTIVITY_INFO (pk_id,title,content,fk_customer_id,number_limit,create_date) values(:pkId,:title,:content,:fkCustomerId,:numberLimit,sysdate)]] with root cause org.hibernate.hql.ast.QuerySyntaxException: unexpected token: values near line 1, column 89 [insert into ACTIVITY_INFO (pk_id,title,content,fk_customer_id,number_limit,create_date) values(:pkId,:title,:content,:fkCustomerId,:numberLimit,sysdate)] at org.hibernate.hql.ast.QuerySyntaxException.convert(QuerySyntaxException.java:54)

sql语句没有写错 在执行的时候idea报错了 在workbench里面也可以执行 有没有大佬说一说 谢谢

``` @Select("select user_number,username from dormitory as a"+ " inner join user_dormitory as b on a.dor_id = b.dor_id"+ "inner join user as c on b.student_number = c.user_number"+ "where a.ridgepole = #{ridgepole} and a.unit = #{unit} and a.door_number = #{doorNumber} and b.room_number = #{roomNumber}" ) 报错: Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'a.ridgepole = '10' and a.unit = 'A' and a.door_number = '532' and b.room_number ' at line 1 ```

大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了

大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

String s = new String(" a ") 到底产生几个对象?

老生常谈的一个梗,到2020了还在争论,你们一天天的,哎哎哎,我不是针对你一个,我是说在座的各位都是人才! 上图红色的这3个箭头,对于通过new产生一个字符串(”宜春”)时,会先去常量池中查找是否已经有了”宜春”对象,如果没有则在常量池中创建一个此字符串对象,然后堆中再创建一个常量池中此”宜春”对象的拷贝对象。 也就是说准确答案是产生了一个或两个对象,如果常量池中原来没有 ”宜春” ,就是两个。...

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

Linux面试题(2020最新版)

文章目录Linux 概述什么是LinuxUnix和Linux有什么区别?什么是 Linux 内核?Linux的基本组件是什么?Linux 的体系结构BASH和DOS之间的基本区别是什么?Linux 开机启动过程?Linux系统缺省的运行级别?Linux 使用的进程间通信方式?Linux 有哪些系统日志文件?Linux系统安装多个桌面环境有帮助吗?什么是交换空间?什么是root帐户什么是LILO?什...

Linux命令学习神器!命令看不懂直接给你解释!

大家都知道,Linux 系统有非常多的命令,而且每个命令又有非常多的用法,想要全部记住所有命令的所有用法,恐怕是一件不可能完成的任务。 一般情况下,我们学习一个命令时,要么直接百度去搜索它的用法,要么就直接用 man 命令去查看守冗长的帮助手册。这两个都可以实现我们的目标,但有没有更简便的方式呢? 答案是必须有的!今天给大家推荐一款有趣而实用学习神器 — kmdr,让你解锁 Linux 学习新姿势...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

史上最全的 python 基础知识汇总篇,没有比这再全面的了,建议收藏

网友们有福了,小编终于把基础篇的内容全部涉略了一遍,这是一篇关于基础知识的汇总的文章,请朋友们收下,不用客气,不过文章篇幅肯能会有点长,耐心阅读吧爬虫(七十)多进程multiproces...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

85后蒋凡:28岁实现财务自由、34岁成为阿里万亿电商帝国双掌门,他的人生底层逻辑是什么?...

蒋凡是何许人也? 2017年12月27日,在入职4年时间里,蒋凡开挂般坐上了淘宝总裁位置。 为此,时任阿里CEO张勇在任命书中力赞: 蒋凡加入阿里,始终保持创业者的冲劲,有敏锐的...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

新一代神器STM32CubeMonitor介绍、下载、安装和使用教程

关注、星标公众号,不错过精彩内容作者:黄工公众号:strongerHuang最近ST官网悄悄新上线了一款比较强大的工具:STM32CubeMonitor V1.0.0。经过我研究和使用之...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

大学一路走来,学习互联网全靠这几个网站,最终拿下了一把offer

大佬原来都是这样炼成的

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

什么时候跳槽,为什么离职,你想好了么?

都是出来打工的,多为自己着想

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

你期望月薪4万,出门右拐,不送,这几个点,你也就是个初级的水平

先来看几个问题通过注解的方式注入依赖对象,介绍一下你知道的几种方式@Autowired和@Resource有何区别说一下@Autowired查找候选者的...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

立即提问
相关内容推荐