使用多行sql字符串时,要注意不要忽略了空格
生活随笔
收集整理的這篇文章主要介紹了
使用多行sql字符串时,要注意不要忽略了空格
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
使用李剛老師編著的《瘋狂Java講義》(第2版)學(xué)習(xí)MySql數(shù)據(jù)庫(kù)與JDBC編程(使用Java 7 ),其中第601頁(yè)的ConnMySql.java 程序代碼在Eclipse上運(yùn)行,出現(xiàn)錯(cuò)誤。
import java.sql.*; public class ConnMySql{public static void main(String[] args)throws Exception{Class.forName("com.mysql.jdbc.Driver");try(Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/select_test","root","0754");Statement stmt = conn.createStatement();ResultSet rs = stmt.executeQuery( "select s.* ,teacher_name"+ "from student_table s, teacher_table t" + "where t.teacher_id = s.java_teacher"))//這里出錯(cuò) {while(rs.next()){System.out.println(rs.getInt(1) + "\t"+ rs.getString(2) + "\t"+ rs.getString(3) + "\t"+ rs.getString(4) );}}}}根據(jù)提示把Sql語(yǔ)句從原來的使用雙引號(hào)將多行語(yǔ)句連接起來改為一行語(yǔ)句,編譯通過。
import java.sql.*; public class ConnMySql{public static void main(String[] args)throws Exception{Class.forName("com.mysql.jdbc.Driver");/** 采用了自動(dòng)關(guān)閉資源的try語(yǔ)句來關(guān)閉各種數(shù)據(jù)庫(kù)資源,,Java7改寫了Connection、Statement、ResultSet等接口,* 它們都繼承了AutoCloseable接口,因此它們都可以用try語(yǔ)句來關(guān)閉。* * */try(Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/select_test","root","0754");Statement stmt = conn.createStatement();ResultSet rs = stmt.executeQuery("select s.* ,teacher_name from student_table s, teacher_table t where t.teacher_id = s.java_teacher" ))//這樣改就沒問題/** "select s.* ,teacher_name"+ "from student_table s, teacher_table t" + "where t.teacher_id = s.java_teacher"* */{while(rs.next()){System.out.println(rs.getInt(1) + "\t"+ rs.getString(2) + "\t"+ rs.getString(3) + "\t"+ rs.getString(4) );}}}}仔細(xì)查看代碼后發(fā)現(xiàn),每一句跟下一句句首都沒有留空格,相當(dāng)于
select s.* ,teacher_namefrom student_table s, teacher_table t"所以導(dǎo)致出錯(cuò)。
但是嘗試先在ResultSet語(yǔ)句上邊定義String類型變量s,會(huì)提示“The resource type String does not implement java.lang.AutoCloseable”。在try語(yǔ)句前定義就沒問題。
?
轉(zhuǎn)載于:https://www.cnblogs.com/JLeight/archive/2013/02/15/2912785.html
總結(jié)
以上是生活随笔為你收集整理的使用多行sql字符串时,要注意不要忽略了空格的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android mvparms 踩坑
- 下一篇: 系统在iis6上部署