1、在eclipse上用JDBC连接MySql:
在SQLyog里面的创建student表,然后在eclipse里面读出来:
输出如下:
步骤:
- 注册驱动 (可选,不注册也行)Class.forName(“com.mysql.jdbc.Driver”).newInstance();
- 建立连接 DriverManager.getConnection()
- 创建statement对象,跟数据库连接需要这个对象
- 执行查询,得到结果集
- 遍历,在结果集中拿数据,列的指针,get方法中,因为重载,也可以写入列的数字,从1开始,比如String name = rs.getString(1);
- 释放资源(先开后关,这里我们写个工具类,专门来释放资源)
代码演示如下:
原始版:就是按照上面的步骤写的
优化版:
- 释放资源写在Util类中
- 注册驱动和建立连接写在Util类中
- 用到的name、password、url等都放在一个properties配置文件中,然后在Util类中通过字节流读取,并且放在静态代码块中,优先加载
MysqlTest:用JDBC连接自己电脑上的MySql 原始版:
package cn.nupt;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class mm {
public static void main(String[] args) throws Exception {
// 1、注册驱动
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
// 2、建立连接
// DriverManager.getConnection(url);
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/mysql?useSSL=false", "root", "1111");
// 3、创建statement,跟数据库连接需要这个对象
Statement st = con.createStatement();
// 4、执行查询,得到结果集
String sql = " select * from student;";
ResultSet rs = st.executeQuery(sql);
// 5、在结果集中拿数据,列的指针,get方法中,因为重载,也可以写入列的数字,从1开始,比如String name = rs.getString(1);
while (rs.next()) {
String name = rs.getString("姓名");
int old = rs.getInt("年龄");
String place = rs.getString("籍贯")