JDBC主要完成几个任务:
1.与数据库建立一个链接
2.相数据库发送SQL语句
3.处理从数据库返回的结果
(1)首先加载JDBC-ODBC桥的驱动程序
Class.forName(v);
(2)使用Connection接口,并通过Drivermanager类的静态方法getConnection()创建链接对象。
Connection conn=DriverManager.getConnection(“jdbc:mysql://192.168.0.1:3306:database”,”user”,”password”);
(3) 向数据库发送SQL语句,使用Statement接口声明一个SQL语句对象,并通过刚才创建的连接数据库对象conn的createStatement()方法创建这个SQL对象。
Statement sql=conn.createStatement();JDBC和mysql的链接处理
</pre><pre name="code" class="java">package JDBC;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/*
* 连接mysql数据库,读取数据,利用JDBC
*/
public class JDBC_1 {
public static void main(String[] args){
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
try{
//加载驱动
Class.forName("com.mysql.jdbc.Driver");
//连接数据库
conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/student","root","gengjiao"); //执行SQL
stmt=conn.createStatement();
// rs= stmt.executeQuery("select * from student");
String sql = "insert into student values (5,'小米','189312')";
stmt.executeUpdate(sql);
//循环读取结果
// while(rs.next()){
// System.out.print(rs.getString("SuId")+" ");
// System.out.println(rs.getString("Name"));
// }
}catch(ClassNotFoundException e1){
e1.printStackTrace();
}catch (SQLException e2) {
e2.printStackTrace();
}finally {
//关闭各个源
try{
if(rs!=null){
rs.close(); //后开先关
rs=null;
}
if(stmt!=null){
stmt.close();
stmt=null;
}
if(conn!=null){
conn.close();
conn=null;
}
}catch (SQLException e){
e.printStackTrace();
}
}
}
}
</pre><pre name="code" class="java"><pre name="code" class="java">/*
* 连接mysql数据库,读取数据,利用JDBC PreparedStatement
*/
public class JDBC_1 {
public static void main(String [] args){
Connection conn=null;
PreparedStatement stmt=null;
ResultSet rs=null;
int SuId=Integer.parseInt(args[0]);
String Name =args[1];
String Tel =args[2];
try{
//加载驱动
Class.forName("com.mysql.jdbc.Driver");
//连接数据库
conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/student","root","gengjiao"); //执行SQL
// stmt=(PreparedStatement) conn.createStatement();
// rs= stmt.executeQuery("select * from student");
// String sql = "insert into student values (?,?,?)";
stmt = (PreparedStatement) conn.prepareStatement("insert into student values(?,?,?)");
stmt.setInt(1,SuId);
stmt.setString(2,Name);
stmt.setString(3,Tel);
stmt.executeUpdate();
//循环读取结果
// while(rs.next()){
// System.out.print(rs.getString("SuId")+" ");
// System.out.println(rs.getString("Name"));
// }
}catch(ClassNotFoundException e1){
e1.printStackTrace();
}catch (SQLException e2) {
e2.printStackTrace();
}finally {
//关闭各个源
try{
if(rs!=null){
rs.close(); //后开先关
rs=null;
}
if(stmt!=null){
stmt.close();
stmt=null;
}
if(conn!=null){
conn.close();
conn=null;
}
}catch (SQLException e){
e.printStackTrace();
}
}
}
}
</pre><pre name="code" class="java"><pre name="code" class="java">//批处理mysql语句
package JDBC;
import java.sql.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
//批处理
public class JDBC_4_Batch {
public static void main(String[] args) throws Exception {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/student", "root", "gengjiao");
Statement stmt = conn.createStatement();
stmt.addBatch("insert into student values(10,'明','187292')");
stmt.addBatch("insert into student values(11,'花','1872')");
stmt.addBatch("insert into student values(12,'周','18321292')");
stmt.executeBatch();
stmt.close();
}
}