[JDBC初入门0] 快速写出实例

<代码见文底>

jdbc的介绍就不写了,随便一搜就有。
一、导入包
    大多数情况下使用import java.sql.*就行。
二、连接数据库
    
首先注册JDBC驱动程序:
    Class.forName("com.mysql.jdbc.Driver");
    
然后连接数据库:
    Connection conn = null;
    conn = DriverManager.getConnection(
        "jdbc:mysql://localhost:3306/",
//数据库的url,这里连的是数据库根地址
        "root", //用户名
        "123");//密码
    以上是针对MySQL8.0以上版本而言,如果你和我一样用的是较新的版本,应该:
        "com.mysql.jdbc.Driver"改 为"com.mysql.cj.jdbc.Driver"。
三、执行SQL语句
    以创建新的数据库,名为 z_jdbc_test 为例:
    stmt = conn.createStatement();
    String sql = "CREATE DATABASE z_jdbc_test";
    stmt.executeUpdate(sql);
    System.out.println("Database created successfully.");

    删库、建表、删表与此大体相同,不赘述。
    如果是执行查询语句,以Employees这个表为例:
    sql = "SELECT id, first, last, age FROM Employees";
    ResultSet rs = stmt.executeQuery(sql);

四、清理环境资源
    
rs.close();
    stmt.close();
    conn.close();

可能遇到的报错
运行ClassforName()时异常。首先检查下里面的驱动程序名,再检查下有项目没有导入mysql驱动的jar包。
    如果没导入jar包,要去网上下载,并按https://jingyan.baidu.com/article/ca41422fc76c4a1eae99ed9f.html导入到项目中。
 (假设你用的是eclipse)
②The Server time zone value 'XXXXX' (乱码)这样的报错。
    
    可以参考这篇博客:https://blog.csdn.net/Wei_NiZi/article/details/81509822
    简单地说,在url后面加上?serverTimezone=UTC就可以了。使用较低版本的MySQL则没有这个问题。

一点补充
    
url里的”localhost“在其他教程里可能是”127.0.0.1“,这两者是等价的。它是回送地址,指本地机,用来测试使用,在Windows      中的别名即Localhost。而3306这个端口号是MySQL的默认端口,若使用其他DBMS就得改了。

代码

import java.sql.*;//导入包

public class CreateDatabase {
	static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";  
	static final String DB_URL = "jdbc:mysql://localhost:3306/?serverTimezone=UTC";
	static final String USER = "root";
	static final String PASSWORD = "123";

	public static void main(String[] args) {
		Connection conn = null;
		Statement stmt = null;
		try {
			//注册JDBC驱动程序
			Class.forName(JDBC_DRIVER);
			//连接数据库
			System.out.println("Connecting to database...");
			conn = DriverManager.getConnection(DB_URL, USER, PASSWORD);
			//执行一个SQL语句
			System.out.println("Creating statement...");
			stmt = conn.createStatement();
			String sql = "CREATE DATABASE z_jdbc_test";
			stmt.executeUpdate(sql);
			System.out.println("Database created successfully.");
		} catch (SQLException se) {
			se.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				if(stmt != null) {
					stmt.close();
				}
				if(conn != null) {
					conn.close();
				}	
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
}


    

    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章