加载及注册JDBC驱动程序
Class.forName(“com.mysql.jdbc.Driver”);
Class.forName(“com.mysql.jdbc.Driver”).newInstance();
JDBC URL定义驱动程序与数据源之间的连接
标准语法:
<protocol(主要通讯协议)>:<subprotocol(次要通讯协议,服务器空间,即驱动程序名称)>:<data source identifier(数据源)>
MySQL的JDBCURL格式:
jdbc:mysql//[hostname][:port]/[dbname][?param1=value1][¶m2=value2]….
示例:jdbc:mysql://localhost:3306/sample_db?user=root&password=your_password
常见参数:
user用户名
password密码
autoReconnect联机失败,香港服务器,香港虚拟主机,是否重新联机(true/false)
maxReconnect尝试重新联机次数
initialTimeout尝试重新联机间隔
maxRows传回最大行数
useUnicode是否使用Unicode字体编码(true/false)
characterEncoding何种编码(GB2312/UTF-8/…)
relaxAutocommit是否自动提交(true/false)
capitalizeTypeNames数据定义的名称以大写表示
建立连接对象
String url=”jdbc:mysql://localhost:3306/sample_db?user=root&password=your_password”;
Connection con = DriverManager.getConnection(url);
建立SQL陈述式对象(StatementObject)
Statementstmt = con.createStatement();
执行SQL语句
executeQuery()
Stringquery = “select * from test”;
ResultSet rs=stmt.executeQuery(query);
结果集ResultSet
while(rs.next())
{rs.getString(1);rs.getInt(2);}
executeUpdate()
String upd=”insert into test (id,name) values(1001,xuzhaori)”;
int con=stmt.executeUpdate(upd);
execute()
首先正确安装好MySQL,建立好数据库studentinfo
mysql>create database studentinfo;
然后编写java代码,ConnectToMySQL.java
import java.sql.*;
public class ConnectToMySQL {public static Connection getConnection() throws SQLException ,java.lang.ClassNotFoundException{String url = “jdbc:mysql://localhost:3306/studentinfo”;Class.forName(“com.mysql.jdbc.Driver”);String userName = “root”;String password = “”;Connection con = DriverManager.getConnection(url,userName,password);return con;}
public static void main(String[] args) {try{Connection con = getConnection();Statement sql = con.createStatement();sql.execute(“drop table if exists student”);sql.execute(“create table student(id int not null auto_increment,name varchar(20) not null default ‘name’,math int not null default 60,primary key(id));”);sql.execute(“insert student values(1,’AAA’,’99′)”);sql.execute(“insert student values(2,’BBB’,’77′)”);sql.execute(“insert student values(3,’CCC’,’65′)”);String query = “select * from student”;ResultSet result = sql.executeQuery(query);System.out.println(“Student表数据如下:”);System.out.println(“———————————”);System.out.println(“学号”+””+”姓名”+””+”数学成绩”);System.out.println(“———————————”);int number;String name;String math;while(result.next()){number = result.getInt(“id”);name = result.getString(“name”);math = result.getString(“math”);System.out.println(number + “” + name + “” + math);}sql.close();con.close();
}catch(java.lang.ClassNotFoundException e){System.err.println(“ClassNotFoundException:” + e.getMessage());}catch(SQLException ex){System.err.println(“SQLException:” + ex.getMessage());}}}
要注意的是使用MySQL数据库,需要用到对应的JDBC驱动程序mysql-connector-java-5.0.3
import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.*;
public class BaseConnection {private Connection con = null;
protected Connection getCon(){
ResultSet rs=null;
Statement stmt = null;try {
Class.forName(“org.gjt.mm.mysql.Driver”);String url=”jdbc:mysql://192.168.0.10/数据库名?user=USR&password=PWD”;conn = DriverManager.getConnection(url);
stmt = conn.createStatement();
} catch (ClassNotFoundException e) {
e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}return con;}
}
本文固定链接:?p=316 | 测试之路-My Test Space
只有流过血的手指才能弹出世间的绝唱。