个人开发时主要还是使用mysql,所以就顺便把连接mysql的操作,记录下来,算备忘吧
其实主要有的操作包括
1、配置好环境,主要是安装mysql和下载连接需要的包(我用的是mysql-connector-java-5.1.3-rc-bin.jar)
2、注册驱动 Class.forName("com.jdbc.mysql.Driver");
3、创建连接 Connection con = DriverManager.getConnection("jdbc:mysql://127.0.0.1/test",user,password);
4、创建表达式 Statement stmt = con.createStatement();
5、执行sql语句并获得相应的结果集 ResultSet rs = stmt.executeQuery("select * from tables");
6、获取结果while(rs.next()){System.out.println(rs.getString(1));}
7、关闭连接rs.close();stmt.close();con.close();
代码如下:
package com;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class TestJDBC {
public static void main(String[] args) {
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1/train",
"xxx", "yyyy");
stmt = con.createStatement();
rs = stmt.executeQuery("select * from tbl_user");
while (rs.next()) {
String str = rs.getString(2);
System.out.println(str);
String uname = rs.getString("uname");
System.out.println(uname);
}
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} finally {
try {
if (rs != null){
rs.close();
rs = null;
}
if (stmt != null){
stmt.close();
stmt = null;
}
if (con != null){
con.close();
stmt = null;
}
} catch (SQLException e2) {
e2.printStackTrace();
}
}
}
}
在jdbc中能够对事务进行处理:
con.setAutoCommit(false);
......
con.commit();
con.setAutoCommit(true);
这样就实现了,对事务的操作。
还有jdbc中批处理操作
Statement stmt = con.createStatement();
stmt.addBatch(sql语句);
stmt.executeBatch();
或者是
PreparedStatement pstmt = con.preparedStatement("insert into table_a values(?,?)");
pstmt.setInt(1,xxx);
pstmt.setString(2,yyy);
pstmt.addBatch();
pstmt.excuteBatch();