java 连接 mysql
编写一个程序,这个程序从student表中读取数据,并打印在命令行窗口中。
一、搭建实验环境 :
1、在mysql中创建一个库,并创建student表和插入表的数据。
2、新建一个Java工程,并导入数据驱动。
二、编写程序,在程序中加载数据库驱动
Class.forName(“com.mysql.jdbc.Driver”);
三、建立连接(Connection)
Connection conn = DriverManager.getConnection(url,user,pass);
四、创建用于向数据库发送SQL的Statement对象,并发送sql
Statement st = conn.createStatement();
ResultSet rs = st.excuteQuery(sql);
五、从代表结果集的ResultSet中取出数据,打印到命令行窗口
六、断开与数据库的连接,并释放相关资源
URL用于标识数据库的位置,程序员通过URL地址告诉JDBC程序连接哪个数据库,URL的写法为:
jdbc:mysql:[]//localhost:3306/test ?参数名:参数值
jdbc: --协议
mysql:[ ] --子协议
//localhost:3306/ --主机:端口
test -- 数据库
Mysql的url地址的简写形式: jdbc:mysql:///sid
常用属性:useUnicode=true&characterEncoding=UTF-8
常用数据库URL地址的写法:
Oracle— jdbc:oracle:thin:@localhost:1521:sid
SqlServer—jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=sid
MySql—jdbc:mysql://localhost:3306/sid
案例:
连接spdb1数据库,查询student表
select * from student;
java连接数据库,操作sql语句
package cn.hsp.test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
* 测试如何操作mysql数据库
*
* @author nsz 2014下午2:54:44
*/
public class TestMySQL {
public static void main(String[] args) {
Connection ct = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
Class.forName("com.mysql.jdbc.Driver");
ct = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/spdb1", "root", "0108");
ps = ct.prepareStatement("select * from student");
rs = ps.executeQuery();
while (rs.next()) {
System.out.println(rs.getInt("id") + " "
+ rs.getString("name") + " 语文="
+ rs.getFloat("chinese"));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
rs.close();
ps.close();
ct.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
显示结果:
--------2014.08.09终