亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

mybatis+springmvc+sqlite一個累心的問題:不在糾結

2019-11-14 21:15:15
字體:
來源:轉載
供稿:網友
mybatis+sPRingmvc+sqlite一個累心的問題:不在糾結

1 java.sql.SQLException: NYI

2 org.sqlite.RS.getColumnClassName(RS.java:269)

在配置mybatis+springmvc+sqlite時候,

<insert id="saveUser" parameterType="User"  keyProperty="id" useGeneratedKeys="false" >               <selectKey keyProperty="id" resultType="int"  order="BEFORE">                     SELECT seq+1 as seq FROM sqlite_sequence WHERE (name = 't_demo')  //sqlite 不會自動加1,所以手動了               </selectKey>                            insert into t_demo (id,name,age,sex)values(#{id},#{name},#{age},#{sex})    </insert>

遭遇到一下問題:

1 root cause

org.springframework.jdbc.UncategorizedSQLException: Error selecting key or setting result to parameter object. Cause: java.sql.SQLException: NYI; uncategorized SQLException for SQL []; SQL state [null]; error code [0]; NYI; nested exception is java.sql.SQLException: NYI

2 root cause

java.sql.SQLException: NYIorg.sqlite.RS.getColumnClassName(RS.java:269)

因為網上關于SQLite的整合資料較少(什么百度 谷歌,搜遍了,連mybatis官網的例子都看了),所以自己就折騰,大概有4天吧,每天看到這個錯誤,已經不煩了,已經到快吐了。

在配置mybatis的mapper.xml中需要配置 insert語句,而ID自增是最大的問題,PostgreSQL版的我已經搞定,想著

SQLite應該類似,結果始終是報錯,具體:

  1 type Exception report  2   3 message   4   5 description The server encountered an internal error () that prevented it from fulfilling this request.  6   7 exception   8   9 org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.jdbc.UncategorizedSQLException: Error selecting key or setting result to parameter object. Cause: java.sql.SQLException: NYI 10 ; uncategorized SQLException for SQL []; SQL state [null]; error code [0]; NYI; nested exception is java.sql.SQLException: NYI 11     org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:656) 12     org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560) 13     javax.servlet.http.HttpServlet.service(HttpServlet.java:641) 14     javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 15  16  17 root cause  18  19 org.springframework.jdbc.UncategorizedSQLException: Error selecting key or setting result to parameter object. Cause: java.sql.SQLException: NYI 20 ; uncategorized SQLException for SQL []; SQL state [null]; error code [0]; NYI; nested exception is java.sql.SQLException: NYI 21     org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83) 22     org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80) 23     org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80) 24     org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:71) 25     org.mybatis.spring.SqlsessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:365) 26     com.sun.proxy.$Proxy10.insert(Unknown Source) 27     org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:237) 28     com.sinaapp.mydemo27.daoimpl.UserDaoImpl.inseartUser(UserDaoImpl.java:20) 29     com.sinaapp.mydemo27.service.UserService.insertUser(UserService.java:30) 30     com.sinaapp.mydemo27.service.UserService$$FastClassByCGLIB$$8193c93a.invoke(<generated>) 31     net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191) 32     org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:688) 33     org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) 34     org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110) 35     org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) 36     org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:621) 37     com.sinaapp.mydemo27.service.UserService$$EnhancerByCGLIB$$3e2827df.insertUser(<generated>) 38     com.sinaapp.mydemo27.controller.UserController.handleInseart(UserController.java:55) 39     sun.reflect.NativeMethodaccessorImpl.invoke0(Native Method) 40     sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 41     sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 42     java.lang.reflect.Method.invoke(Unknown Source) 43     org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176) 44     org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:426) 45     org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:414) 46     org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790) 47     org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719) 48     org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644) 49     org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560) 50     javax.servlet.http.HttpServlet.service(HttpServlet.java:641) 51     javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 52  53  54 root cause  55  56 java.sql.SQLException: NYI 57     org.sqlite.RS.getColumnClassName(RS.java:269) 58     org.apache.ibatis.executor.resultset.FastResultSetHandler$ResultColumnCache.<init>(FastResultSetHandler.java:585) 59     org.apache.ibatis.executor.resultset.FastResultSetHandler.handleResultSets(FastResultSetHandler.java:151) 60     org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:57) 61     org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:70) 62     org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:57) 63     org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:267) 64     org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:141) 65     org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:105) 66     org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:81) 67     org.apache.ibatis.executor.keygen.SelectKeyGenerator.processGeneratedKeys(SelectKeyGenerator.java:65) 68     org.apache.ibatis.executor.keygen.SelectKeyGenerator.processBefore(SelectKeyGenerator.java:41) 69     org.apache.ibatis.executor.statement.BaseStatementHandler.generateKeys(BaseStatementHandler.java:127) 70     org.apache.ibatis.executor.statement.BaseStatementHandler.<init>(BaseStatementHandler.java:60) 71     org.apache.ibatis.executor.statement.PreparedStatementHandler.<init>(PreparedStatementHandler.java:36) 72     org.apache.ibatis.executor.statement.RoutingStatementHandler.<init>(RoutingStatementHandler.java:42) 73     org.apache.ibatis.session.Configuration.newStatementHandler(Configuration.java:348) 74     org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:43) 75     org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:108) 76     org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:75) 77     org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:145) 78     org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:134) 79     sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 80     sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 81     sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 82     java.lang.reflect.Method.invoke(Unknown Source) 83     org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:355) 84     com.sun.proxy.$Proxy10.insert(Unknown Source) 85     org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:237) 86     com.sinaapp.mydemo27.daoimpl.UserDaoImpl.inseartUser(UserDaoImpl.java:20) 87     com.sinaapp.mydemo27.service.UserService.insertUser(UserService.java:30) 88     com.sinaapp.mydemo27.service.UserService$$FastClassByCGLIB$$8193c93a.invoke(<generated>) 89     net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191) 90     org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:688) 91     org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) 92     org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110) 93     org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) 94     org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:621) 95     com.sinaapp.mydemo27.service.UserService$$EnhancerByCGLIB$$3e2827df.insertUser(<generated>) 96     com.sinaapp.mydemo27.controller.UserController.handleInseart(UserController.java:55) 97     sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 98     sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 99     sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)100     java.lang.reflect.Method.invoke(Unknown Source)101     org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)102     org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:426)103     org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:414)104     org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)105     org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)106     org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)107     org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)108     javax.servlet.http.HttpServlet.service(HttpServlet.java:641)109     javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

快心死的時候,都去

https://code.google.com/p/sqlite-jdbc/source/browse/src/main/java/org/sqlite/RS.java?r=e74939879270122b724d6fd62d8c40aa70870fcf

看了SQLite jdbc的source,結果只發現下面這句,于是把resultType類型改成 “Object”,結果還是報錯。

  public String getColumnClassName(int col) throws SQLException {        checkCol(col);        return "java.lang.Object";    }

絕望了,不過 突然想到 要不要去 findjar.com上找個新的SQLite-jdbc 驅動,于是

http://www.findjar.com/index.x?query=sqlite

找到了最新版本“sqlite-jdbc-3.6.14.1.jar” 結果令人驚喜的事發生了,

報錯不再是java.sql.SQLException: NYI,

換 parameterTypeMissMatch,這個把resultType類型改回去int,再跑,以為會ok,

出人意料的是,又報錯,不過這個錯我是知道的,sql主鍵唯一的錯誤,原來SQLite的ID自增是假的,就不自增,只是記錄而已,要自己手動加。

修改自增后,測試沒有問題了。

一個字,心累,share防止有同樣問題的人在此糾結。

若轉載請標注 :轉自 博客園 :http://www.49028c.com/rojas/p/4001510.html


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
777精品视频| 在线观看亚洲区| 国产69精品久久久久99| 欧美在线xxx| 91av在线精品| xvideos亚洲人网站| 96sao精品视频在线观看| 国产精品∨欧美精品v日韩精品| 国产视频精品va久久久久久| 91精品视频大全| 亚洲激情视频在线| 日韩激情在线视频| 亚洲综合在线小说| 亚洲一区二区三区在线视频| 亚洲精品在线不卡| 精品亚洲一区二区| 国产精品入口日韩视频大尺度| 欧美精品福利视频| 中文字幕欧美精品在线| 91亚洲精品一区二区| 欧美韩国理论所午夜片917电影| 北条麻妃一区二区三区中文字幕| 日韩免费av片在线观看| 欧美黑人一区二区三区| 大量国产精品视频| 色妞在线综合亚洲欧美| 这里精品视频免费| 久久天堂电影网| 欧美成人黑人xx视频免费观看| 国产精品久久久久久一区二区| 色播久久人人爽人人爽人人片视av| 最近的2019中文字幕免费一页| 亚洲欧美日韩天堂一区二区| 日韩精品视频在线播放| 国产精品三级久久久久久电影| 久久久噜噜噜久久中文字免| 久久人91精品久久久久久不卡| 午夜精品久久久久久久久久久久| 欧美精品18videos性欧美| 久久99久久亚洲国产| 中文字幕免费精品一区高清| 乱亲女秽乱长久久久| 91午夜理伦私人影院| 欧美性xxxxx极品| 欧美最猛性xxxx| 日韩欧美精品中文字幕| 国产日韩中文字幕| 色悠悠久久久久| 欧美高清理论片| 久久久久久亚洲精品不卡| 久久影院中文字幕| 91国产中文字幕| 18久久久久久| 国产精品久久久久一区二区| 91亚洲精品视频| 日韩综合视频在线观看| 亚洲国产精品国自产拍av秋霞| 久久久久久国产三级电影| 亚洲va男人天堂| www.99久久热国产日韩欧美.com| 亚洲剧情一区二区| 2021久久精品国产99国产精品| 欧美精品精品精品精品免费| 欧美精品videos性欧美| 97视频色精品| 亚洲精品v欧美精品v日韩精品| 日韩动漫免费观看电视剧高清| 欧美精品18videos性欧| 欧美成人午夜影院| 国产欧美精品日韩精品| 51久久精品夜色国产麻豆| 久久亚洲私人国产精品va| 久久精品青青大伊人av| 欧美高清电影在线看| 亚洲国产欧美精品| 欧美裸体男粗大视频在线观看| 青青在线视频一区二区三区| 日韩美女免费观看| 亚洲精品久久久久久久久久久久| 97视频在线观看网址| 国产成人精品一区| 在线视频欧美性高潮| 亚洲韩国欧洲国产日产av| 日韩精品免费在线| 国产精品白嫩初高中害羞小美女| 国产精品中文久久久久久久| 久热精品视频在线免费观看| 国产一区二区精品丝袜| 国产极品精品在线观看| 欧美中文字幕在线观看| 亚洲欧美精品一区| 国产精品专区第二| 操日韩av在线电影| 日韩精品视频中文在线观看| 欧美日韩激情网| 91高清视频免费观看| 欧美重口另类videos人妖| 中文字幕在线日韩| 欧美日韩在线观看视频小说| 中文字幕日韩综合av| 国产精欧美一区二区三区| 日韩在线一区二区三区免费视频| 日韩视频一区在线| 有码中文亚洲精品| 啊v视频在线一区二区三区| 国产精品中文在线| 欧美精品999| 久久久久国色av免费观看性色| 91精品久久久久久久久不口人| 91亚洲永久免费精品| 亚洲精品久久久久久久久久久| 欧美黑人性猛交| 久久精品成人欧美大片古装| 久久久精品视频成人| 日韩欧美在线看| 亚洲va电影大全| 欧美激情综合色综合啪啪五月| 日产精品99久久久久久| 亚洲一区二区在线| 色悠悠久久久久| 国产精品久久婷婷六月丁香| 日韩av影片在线观看| 久久久精品美女| 欧美亚洲国产日本| 午夜精品www| 欧美在线视频观看免费网站| 一区二区三区 在线观看视| 黄色成人av网| 国产偷国产偷亚洲清高网站| 亚洲欧美激情一区| 国产日韩欧美视频| 成人国产精品免费视频| 久久午夜a级毛片| 成人a在线观看| 一个人看的www久久| 在线视频欧美日韩| 国产精品91在线| 精品成人69xx.xyz| 久久激情视频免费观看| 国产一区二区三区丝袜| 欧美日韩国内自拍| 亚洲精品福利免费在线观看| 精品香蕉在线观看视频一| 日韩精品极品视频| 91国语精品自产拍在线观看性色| 91在线高清免费观看| 日韩av在线免费观看| 亚洲欧美日韩国产精品| 日韩欧美精品免费在线| 色天天综合狠狠色| 久久香蕉频线观| 亚洲香蕉成人av网站在线观看| 清纯唯美亚洲激情| 久久精品国产成人| 国产欧美一区二区白浆黑人| 国产精品免费一区豆花| 少妇激情综合网| 国产精品白嫩初高中害羞小美女| 在线观看不卡av| 亚洲电影免费观看高清完整版| 国产精品视频久久久| 成人免费高清完整版在线观看| 色播久久人人爽人人爽人人片视av| 欧美黑人一级爽快片淫片高清|