前言
今天有点空闲,复习了一下java中JDBC的相关知识,使用的数据库是 mysql,记录一下
一、下载驱动包
Java 连接 MySQL 需要驱动包,官网下载地址——MySQL驱动包官网下载 ,建议大家下载以前的版本,新的版本有的没有 Connection 类
将下载下来的压缩包解压,将.jar文件复制到项目的lib资源目录下,右击jar包,Build Path—Add to Build Path
二、JDBC 的第一种写法
代码如下:
package com.jdbcutils;
import java.sql.DriverManager;
import com.mysql.jdbc.Connection;
public class Jdbc_v1 {
public static Connection getConnection() throws Exception{
String dirver = "com.mysql.jdbc.Driver";
Class.forName(dirver);
String url = "jdbc:mysql://localhost:3306/dbtest";
String user = "root";
String pwd = "123456";
Connection conn = (Connection) DriverManager.getConnection(url, user, pwd);
return conn;
}
}
二、JDBC 的第二种写法
1.创建 properties 文件
在项目下创建后缀为 .properties的文件,如:jdbc.properties
内容如下:
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/dbtest
user=root
pwd=123456
2.代码如下:
package com.jdbcutils;
import java.sql.DriverManager;
import java.util.ResourceBundle;
import com.mysql.jdbc.Connection;
public class Jdbc_v2 {
private static String driver;
private static String url;
private static String user;
private static String pwd;
static {
//通过 ResourceBundle 获取配置文件(注意:这里是文件名不带后缀)
ResourceBundle bundle = ResourceBundle.getBundle("jdbc");
//获取配置文件中键值对
driver = bundle.getString("driver");
url = bundle.getString("url");
user = bundle.getString("user");
pwd = bundle.getString("pwd");
}
public static Connection getConnection() throws Exception{
Class.forName(driver);
return (Connection) DriverManager.getConnection(url, user, pwd);
}
}
二、JDBC 的第三种写法
1.创建 properties 文件
在项目下创建后缀为 .properties的文件,如:jdbc.properties
内容如下:
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/dbtest
user=root
pwd=123456
2.代码如下:
package com.jdbcutils;
import java.io.IOException;
import java.io.InputStream;
import java.sql.DriverManager;
import java.util.Properties;
import com.mysql.jdbc.Connection;
public class Jdbc_v3 {
private static String driver;
private static String url;
private static String user;
private static String pwd;
static {
try {
//通过类获取类加载器
ClassLoader loader = Jdbc_v3.class.getClassLoader();
//通过类加载器的方法获取输入流读取配置文件(注意:这里是文件名要带后缀)
InputStream is = loader.getResourceAsStream("jdbc.properties");
//新建 Properties 对象
Properties props = new Properties();
//加载输入流
props.load(is);
//通过键获取值
driver = props.getProperty("driver");
url = props.getProperty("url");
user = props.getProperty("user");
pwd = props.getProperty("pwd");
} catch (IOException e) {
e.printStackTrace();
}
}
public static Connection getConnection() throws Exception{
Class.forName(driver);
return (Connection) DriverManager.getConnection(url, user, pwd);
}
}
测试连接
代码如下:
package com.main;
import java.sql.ResultSet;
import com.jdbcutils.Jdbc_v1;
import com.jdbcutils.Jdbc_v2;
import com.jdbcutils.Jdbc_v3;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
public class Main1 {
public static void main(String[] args) {
try {
insertV1();
insertV2();
insertV3();
queryV3();
} catch (Exception e) {
}
}
private static void insertV1() throws Exception {
Connection conn = Jdbc_v1.getConnection();
String sql = "insert into student values(null,?,?)";
PreparedStatement ps = (PreparedStatement) conn.prepareStatement(sql);
ps.setString(1, "张三");
ps.setInt(2, 18);
int i = ps.executeUpdate();
System.out.println(i+" 条记录插入成功!");
conn.close();
ps.close();
}
private static void insertV2() throws Exception {
Connection conn = Jdbc_v2.getConnection();
String sql = "insert into student values(null,?,?)";
PreparedStatement ps = (PreparedStatement) conn.prepareStatement(sql);
ps.setString(1, "李四");
ps.setInt(2, 20);
int i = ps.executeUpdate();
System.out.println(i+" 条记录插入成功!");
conn.close();
ps.close();
}
private static void insertV3() throws Exception {
Connection conn = Jdbc_v3.getConnection();
String sql = "insert into student values(null,?,?)";
PreparedStatement ps = (PreparedStatement) conn.prepareStatement(sql);
ps.setString(1, "王二麻子");
ps.setInt(2, 22);
int i = ps.executeUpdate();
System.out.println(i+" 条记录插入成功!");
conn.close();
ps.close();
}
private static void queryV3() throws Exception {
Connection conn = Jdbc_v3.getConnection();
String sql = "select * from student";
PreparedStatement ps = (PreparedStatement) conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
System.out.println("---------执行结果如下所示---------------");
while(rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
System.out.println(id + "\t" + name + "\t" + age);
}
conn.close();
ps.close();
}
}
控制台展示:
总结
以上就是JDBC连接数据库的内容了,几行数字,几行字母,认真编写生活的美好!