1. 程式人生 > >Mybatis報java.sql.SQLException

Mybatis報java.sql.SQLException

java.sql.SQLException  Parameter index out of range (2 > number of parameters, which is 1)

原因是

sql語句有關的原因如下:

1.?號被單引號包圍。

(如setString(1,"slkdjfkd");sql語句為:insert into table1 (c1,c2) values ('?','?'))。

此時?會被作為引數傳入,而不會再傳入 setString裡面的值。

2.sql語句中沒有?號,在後面用到了set語句。(如:select * from table);

此時無需傳值。傳值就會出錯。

3.初學者很常見的錯誤:?---

這兩個問號是不同了,因為一個是中文,一個是英文,如果在sql語句中寫入的是英文,將無法識別。

其他原因:

1.連線已經關閉。

 如果與其他操作語句一起公用conn時,如果上一操作已經關閉連線,則會報錯。表現為:時而能夠進行操作,時而不能。

2.pstm沒有初始化,無驅動包,得到連接出錯等基礎問題…


相關推薦

Mybatisjava.sql.SQLException

java.sql.SQLException  Parameter index out of range (2 > number of parameters, which is 1) 原因是 與

mycat->oraclejava.sql.SQLException: 無法從套接字讀取更多的數據

奇葩 cal idl 圖片 tab most conn err www. 今天下午,測試環境清算的時候又出現了之前的一個異常,這次把錯誤信息全部打出來了,java.sql.SQLException: 無法從套接字讀取更多的數據,是使用mycat連接oracle的,如下所示:

sql查詢java.sql.SQLException: Column 'LC_ID' not found 的錯誤實際上是mysql在hibernate別名的問題

報java.sql.SQLException: Column 'LC_ID' not found 的錯誤實際上是mysql在hibernate別名的問題 我的查詢sql是 String sql2 ="select lc.lc_id  lcId from Uum_Loginc

解決Mybatis框架java.sql.SQLException: 資料大小超出此型別的最大值的問題

1.問題所在:  JDBC在轉換過程中對字串的長度做了限制。這個限制和資料庫中欄位的實際長度沒有關係,JDBC對轉換字元長度的限制是為了轉換過程中的資料擴充套件。根據實際測試結果,在ZHS16GBK字符集和thin驅動下,2000-4000長度的varchar欄位都只能插入

mybatis錯:java.sql.SQLException: 無效的列型別: 1111

 java.sql.SQLException: 無效的列型別: 1111  at oracle.jdbc.driver.OracleStatement.getInternalType(OracleStatement.java:3900)  at oracle.jdbc.

mybatis向oracle新增資料java.sql.SQLException: 無效的列型別: 1111

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping

mybatis錯:Cause: java.sql.SQLException: Operand should contain 1 column(s)\n;

mybatis配置: <select id="queryDubboConfig" parameterType="map" resultMap="DubboConfigDO">

解決sqoop導入錯:Caused by: java.sql.SQLException: Protocol violation

detail ext lang dcb dsta run org with int 報錯信息: 2017-06-15 15:02:15,374 INFO [main] org.apache.hadoop.mapred.MapTask: Ignoring excepti

Hibernate卡住,然後java.sql.SQLException: Unknown system variable 'language'異常

ops environ instance bcf end int strong roo variables 啟動應用的時候會卡在: 08:22:58,221 DEBUG IntegratorServiceImpl:46 - Adding Integrator [org.hi

mysql錯:java.sql.SQLException: Incorrect string value: ‘xE4xB8x80xE6xACxA1...‘ for column ‘excelName‘ at row 1

play order none png cor lin mysql報錯 mys splay 一、問題 用Eclipse做項目時候報錯 java.sql.SQLException: Incorrect string value: ‘\xE4\xB8\x80\xE6\

JDBCjava.sql.SQLException: Cannot convert value '0000-00-00 00:00:00' from column 14 to T

出現這個錯誤的原因是:當資料庫中的Date型別欄位值是 ‘0000-00-00’時,JDBC不能把’0000-00-00’轉化為一個java.sql.Date 問題的解決方案是在連線資料庫的url後加入?zeroDateTimeBehavior=convertToNull 如:

Spring boot配置資料來源錯之java.sql.SQLExceptionjava.sql.SQLNonTransientConnectionException

週末想自己用Spring boot整合Mybatis寫點簡單的demo,沒想到出了點以前沒遇到過的bug,特記錄一下 java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or repre

MySQL錯:java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)

1、使用者名稱密碼錯誤 開啟命令視窗,進入MySQL的bin目錄,一般是在C:\Program Files\MySQL\MySQL Server 5.7\bin,輸入命令: mysql -u [username] -p 如果能進不去,則是使用者名稱密碼錯誤。如果能進

java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp

報錯環境是maraiadb5.5所用的時間欄位是timestamp,mariadb5.6用的datetime的mariadb是不會報這個錯誤的 原配置為: spring.datasource.url=jdbc:mysql://10.44.100.217:3306/xxx_test?auto

mycat執行錯:java.sql.SQLException: java.lang.IllegalArgumentException: all columns in order by clause

普通sql語句: SELECT REC_ID,ORDER_UPDATE_RULE,ACTIVITY_ID FROM PLT_ACTIVITY_INFO WHERE ((ORDER_GEN_RULE = 1 OR ORDER_GEN_RULE = 2 ) AND TE

Error :spark-shell模式錯:java.sql.SQLException: A read-only user or a user in a read-only database

1.問題描述: 啟動spark-shell local的模式 bin/spark-shell --master local[2] 報錯: [[email protected] spark-2.1.0-bin-hadoop2.6]$ bin/spark-she

SpringBoot執行錯——java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized

錯誤 : java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configu

Mybatis異常解決之:java.sql.SQLException: Parameter index out of range

mybatis使用過程中遇到下面一個異常: org.springframework.dao.TransientDataAccessResourceException: ### Error querying database. Cause: java.sql.SQLException: Param

java.sql.SQLException: The server time zone value '???ú±ê×??±??'的錯解決方案

問題描述: 利用JDBC連線資料時,會報錯誤具:java.sql.SQLException: The server time zone value '???ú±ê×??±??' is unrecognized or represents more than one time zone. Yo

Caused by: java.sql.SQLException: Unable to open a test connection to the given database錯無法開啟到給定資料庫

在啟動hive或則其他要連線資料庫的時候 ,都有可能遇到這個問題 [[email protected] bin]$ ./hive Caused by: java.sql.SQLException: Unable to open a test connection to the