- 一、JDBC是什么?
- 三、连接操作
- 1.使用DriverManager注册驱动
- 2.使用反射注册驱动
- 三、查询操作
- 1.查询所有数据
- 1.查询某条数据
一、JDBC是什么?
用于java连接数据库
三、连接操作
1.使用DriverManager注册驱动前提
在Project或者Modules导入
mydsql-connetor-java-8.0.16.jar包
Project:(整个空间的modules都能使用)
Modules:(只有这个Modules可以使用)
DirverManger.registerDriver(new Driver())
例子
//导入的包如下:
import com.mysql.cj.jdbc.Driver;
import java.sql.Connection;
import java.sql.DriverManager;
public static void main(String[] args) throws Exception {
//注册驱动
DriverManager.registerDriver(new Driver());
String url="jdbc:mysql://localhost:3306/gz_2036?userSSL=false&serverTimezone=UTC";//url gz_2036为数据库名
String username="root";//用户名
String password="123456";//密码
Connection con = DriverManager.getConnection(url,username,password);//获取连接对象
System.out.println(con);//如果为空连接失败,如果是一个地址则连接成功!
}
----------------------------------------------------------------------------
//输出结果
com.mysql.cj.jdbc.ConnectionImpl@6eceb130
2.使用反射注册驱动
Class.forname("com.mysql.jdbc.Driver");// mysql5.0版本
----------------------------------------------------------
Class.forname("com.mysql.cj.jdbc.Driver");// mysql8.0版本
例子(我使用的mysql8.0版本)
//导入的包
import java.sql.Connection;
import java.sql.DriverManager;
public static void main(String[] args) throws Exception {
//使用反射注册驱动
Class.forName("com.mysql.cj.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/gz_2036?userSSL=false&serverTimezone=UTC";//url gz_2036为数据库名
String username="root";//用户名
String password="123456";//密码
Connection con = DriverManager.getConnection(url,username,password);
System.out.println(con);//如果为空连接失败,如果是一个地址则连接成功
}
----------------------------------------------------------------------------
//输出结果
com.mysql.cj.jdbc.ConnectionImpl@6eceb130
三、查询操作
前提
创建数据表jdbc_study.tb_user
为了分离数据信息与代码(便于人员操作)
这里使用Properties类(继承了Hashtable类,元素为键值对)
my.properties文件内容如下:
url=jdbc:mysql://localhost:3306/gz_2036?userSSL=false&serverTimezone=UTC name=root password=1234561.查询所有数据
public static void main(String[] args) throws Exception {
//注册驱动
DriverManager.registerDriver(new Driver());
//创建连接 读取0807Modeel下的my.properties
Properties p = new Properties();
p.load(new FileReader("0807\my.properties"));
Connection con = DriverManager.getConnection(p.getProperty("url"),
p.getProperty("name"), p.getProperty("password"));
//创建sql执行器
Statement statement = con.createStatement();
//sql语句
String sql="select * from jdbc_study.tb_user";
//返回查询结果
ResultSet resultSet = statement.executeQuery(sql);
//遍历结果集
while (resultSet.next()){
System.out.println(resultSet.getObject("name")+": "+resultSet.getObject("id"));
}
//关闭资源
con.close();
statement.close();
}
//输出结果 吕布: 1001 张飞: 1002 诸葛亮: 1003 刘备: 1004 小乔: 1005 大乔: 1006 貂蝉: 1007 关羽: 1008 null: 1009 null: 1010 关小羽: 1011 桃花定终生: 1012 桃花定一生: 1013 花落红颜醉: 1014 关关雎鸠: 1015 王二丫: 1016 九五二七: 1017 王二小: 1018 董卓: 1019 诸葛亮: 10201.查询某条数据
其实只需修改sql语句
String sql="select * from jdbc_study.tb_user where name='吕布'";
public static void main(String[] args) throws Exception {
//注册驱动
DriverManager.registerDriver(new Driver());
//创建连接 读取 0804my.txt
Properties p = new Properties();
p.load(new FileReader("0804\my.txt"));
Connection con = DriverManager.getConnection(p.getProperty("url"), p.getProperty("name"), p.getProperty("password"));
//创建sql执行器
Statement statement = con.createStatement();
//sql语句
String sql="select * from jdbc_study.tb_user where name='吕布'";
ResultSet resultSet = statement.executeQuery(sql);
//结果集
while (resultSet.next()){
System.out.println(resultSet.getObject("name")+": "+resultSet.getObject("id"));
}
//关闭资源
con.close();
statement.close();
}
输出结果 吕布: 1001



