@Sarah
2015-07-05T05:24:00.000000Z
字数 1859
阅读 1017
Java DataBase Connection

Class.forName(""); //驱动Connection con=DriverManager.getConnection("","","");//引号里分别是url、名字、密码(初始密码是空)Statement st=con.createStatement('','','');ResultSet rs=st.executeQuery(); //select=st.executeUpdate();//delete/update/insert
Result Set:
next()
把指针往下移动一行
sql里字符串要用单引号‘’
"update T set a=a+100 where id=2;"
"update T set a=a-100 where id =1"

连接池:可更换的ResultSet

java---jdbc---.jar----DB
上课代码案例
package database;import java.io.FileInputStream;import java.sql.*;public class Test {public static void main(String[] args) {try {Class.forName("com.mysql.jdbc.Driver");Connection con=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/temp", "root", "");Statement st=con.createStatement();ResultSet rs=st.executeQuery("select * from test where id>5");rs.last();int rowCount=rs.getRow();rs.first();rs.absolute(3);rs.previous();while(rs.next()){String s1=rs.getString(1);String s2=rs.getString(2);System.out.println(s1+"\t"+s2+"\t" + rs.getString(3)+"\t"+ rs.getString(4));}//st.executeUpdate("update test set b=b+1 ");String ss="123";st.executeUpdate("insert into test(a,b,c) values('123','23','45')");int i=4000;//transaction start...con.setAutoCommit(false);try{st.executeUpdate("update test set b=b+"+i+" where id=1");st.executeUpdate("update test set b=b-"+i+" where id=2");con.commit();}catch(Exception e){con.rollback();System.out.println("error,already rollbacked!");}//endcon.setAutoCommit(true);PreparedStatement pst=con.prepareStatement("insert into test(a,b,c,d) values(?,?,?,?)");String a="abcd";String c="defg";pst.setString(1, a);pst.setInt(2, (int)(Math.random()*100));pst.setString(3, c);pst.setBinaryStream(4, new FileInputStream("20130208224050_QJ8M2.gif"));pst.executeUpdate();// con.commit();} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
在navicat里的视图

运行之前别忘了在系统里打开mySQL!