您的位置:首页 > 编程语言 > Java开发

Java连接MySQL数据库

2016-03-04 20:24 597 查看
1 下载安装Connector/J,下载地址:http://www.mysql.com/products/connector/。Connector/J是专门针对MySQL而开发的JDBC驱动程序包。

2 将安装文件夹下的
mysql-connector-java-5.1.36-bin.jar
加入到环境变量的classpath。或者加入到项目的Java Build Path。

3 JDBC基本编程的步骤:

载入驱动

其使用的方法有
Class.forName()
或者

Class.forName().newInstance()
或者

new DriverName()


连接数据库

DriverManager.getConnection()


运行SQL语句

Connection.CreateStatement()

Statement.executeQuery()

Statement.executeUpdate()


取得结果集

while(rs.next())


显示数据

将数据库中的各种类型转化为java中的类型(
getXXX
)方法

关闭

close the resultset

close the statement

close the connection


实例:

package ms;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;

public class TestMySQL {
public static void main(String[] args){
ResultSet rs = null;
Statement stmt = null;
Connection conn = null;
try{
Class.forName("com.mysql.jdbc.Driver"); //创建该字符串标识的类的实例
String url = "jdbc:mysql://localhost:3306/test"; //标识一个被注冊的驱动程序
String user = "root";
String pwd = "";
conn = DriverManager.getConnection(url, user, pwd);
stmt = conn.createStatement();
String query = "select * from person where age > 18";
rs = stmt.executeQuery(query);
while (rs.next()){
String id = rs.getString("id");
String name = rs.getString(2);
int age = rs.getInt("age");
System.out.println(id + "\t" + name + "\t" + age);
}
}
catch (ClassNotFoundException e){
e.printStackTrace();
}
catch (SQLException e){
e.printStackTrace();
}
finally {
try{
if (rs != null){
rs.close();
}
if (stmt != null){
stmt.close();
}
if (conn != null){
conn.close();
}
}
catch (SQLException e){
e.printStackTrace();
}
}
}
}


PreparedStatement的预处理语句:

String sql = "insert into person values(?,?

,?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "005");
pstmt.setString(2, "Zhao");
pstmt.setInt(3, 18);
pstmt.executeUpdate();


statement语句的批处理:

Statement stmt = conn.createStatement();
stmt.addBatch("insert into person values('006', 'Zeng', 26)");
stmt.addBatch("insert into person values('007', 'Liu', 24)");
stmt.addBatch("insert into person values('008', 'Zeng', 17)");
stmt.executeBatch();


PreparedStatement语句的批处理

String sql = "insert into person values(?,?,?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "006");
pstmt.setString(2, "Zeng");
pstmt.setInt(3, 26);

pstmt.setString(1, "007");
pstmt.setString(2, "Liu");
pstmt.setInt(3, 24);

pstmt.setString(1, "008");
pstmt.setString(2, "Zeng");
pstmt.setInt(3, 17);
pstmt.executeUpdate();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: