栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【基础巩固】JDBC

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【基础巩固】JDBC

文章目录
  • 一、JDBC是什么?
  • 三、连接操作
    • 1.使用DriverManager注册驱动
    • 2.使用反射注册驱动
  • 三、查询操作
    • 1.查询所有数据
    • 1.查询某条数据


一、JDBC是什么?

用于java连接数据库


三、连接操作

前提
在Project或者Modules导入
mydsql-connetor-java-8.0.16.jar包
Project:(整个空间的modules都能使用)
Modules:(只有这个Modules可以使用)

1.使用DriverManager注册驱动

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=123456
1.查询所有数据
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
诸葛亮: 1020
1.查询某条数据

其实只需修改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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/288506.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号