?????????????JDBC????????????????????7?????裺
????1??????JDBC????????
????????????????????????????????????????????????JVM??Java??????????????java.lang.Class?????????forName(String className)????
???????磺
????try{
????//????MySql????????
????Class.forName(“com.mysql.jdbc.Driver”) ;
????}catch(ClassNotFoundException e){
????System.out.println(“??????????????? ??????????????”);
????e.printStackTrace() ;
????}
??????????????Driver?????????DriverManager???С?
????2????JDBC?????URL
????????URL??????????????????Э?顢??Э?顢??????????
??????д?????Э?飺??Э?飺????????
????Э?飺??JDBC????????jdbc???
??????Э?飺???????????????????????????????????
?????????????????????????????????????????
???????磺??MySql??????URL??
????jdbc:mysql:
????//localhost:3306/test?useUnicode=true&characterEncoding=gbk ;
????useUnicode=true????????Unicode??????????characterEncoding?????
????gb2312??GBK?????????????????true ??characterEncoding=gbk????????????
????3????????????????
???????????????????java.sql.DriverManager???????Connection??????????????????????????
???????DriverManager??getConnectin(String url ?? String username ??String password )??????????????????????????·?????????????????????????á?
???????磺
????//????MySql??????????????????root
????String url = “jdbc:mysql://localhost:3306/test” ;
????String username = “root” ;
????String password = “root” ;
????try{
????Connection con =
????DriverManager.getConnection(url ?? username ?? password ) ;
????}catch(SQLException se){
????System.out.println(“?????????????”);
????se.printStackTrace() ;
????}
????4?????????Statement
????????SQL?????????java.sql.Statement?????Statement??????????3???????
????1????о??SQL?????????Statement???????
????2????ж??SQL?????????PreparedStatement???????
????3??????????洢???????????CallableStatement???????
????????????????
????Statement stmt = con.createStatement() ;
????PreparedStatement pstmt = con.prepareStatement(sql) ;
????CallableStatement cstmt =
????con.prepareCall(“{CALL demoSp(? ?? ?)}”) ;
????5?????SQL???
????Statement??????????????SQL?????????executeQuery ??executeUpdate??execute
????1??ResultSet executeQuery(String sqlString)????в????????SQL?????????????????ResultSet??????
????2??int executeUpdate(String sqlString)?????????INSERT??UPDATE??DELETE??????SQL DDL????磺CREATE TABLE??DROP TABLE??
????3??execute(sqlString):??????з??????????????????????????????????
???????????????
????ResultSet rs = stmt.executeQuery(“SELECT * FROM …”) ;
????int rows = stmt.executeUpdate(“INSERT INTO …”) ;
????boolean flag = stmt.execute(String sql) ;
????6????????
?????????????
????1????и??·????????β??????????????
????2????в??????????????ResultSet????
????ResultSet????????SQL????????????????У?????????????get???????????Щ?????????????
??????y??????ResultSet?????????????????????
????while(rs.next()){
????String name = rs.getString(“name”) ;
????String pass = rs.getString(1) ; // ?????????Ч
????}
??????????????????????????1?????
????7?????JDBC????
?????????????????????????JDBC????????????????JDBC???????????????????????
????1?????????
????2?????????
????3????????????
????if(rs != null){ // ???????
????try{
????rs.close() ;
????}catch(SQLException e){
????e.printStackTrace() ;
????}
????}
????if(stmt != null){ // ???????
????try{
????stmt.close() ;
????}catch(SQLException e){
????e.printStackTrace() ;
????}
????}
????if(conn != null){ // ??????????
????try{
????conn.close() ;
????}catch(SQLException e){
????e.printStackTrace() ;
????}
????}