使用JDBC连接MySQL数据库

前言

JDBC是MySQL初学者入门需要学习的一类Java API,这篇文章介绍简单的Java连接数据库的方法,首先看看JDBC的概念:

JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。

正文

准备工具
  1. mysql-connector-java-8.0.16.jar(目前最新版)
  2. IntelliJ IDEA 2019.1.3 (Ultimate Edition)
  3. Windows 10 10.0
  4. MySQL 8.0.16
  5. junit-4.11(测试)
内容概述
  1. 建立数据库university
  2. 建立表students
  3. 用maven archetype创建java demo项目(quick start)
  4. 编写Java代码,测试连接数据库
  5. 实现Java端控制的数据库增删改查(CRUD)
具体实现
  1. 首先,用MySQL管理工具(命令行或者图形化管理工具皆可)创建university数据库,SQL语句如下。
CREATE DATABASE UNIVERSITY CHARACTER SET UTF8;

用命令行工具创建

  1. 创建students表,包含简略的属性,SQL语句如下所示。。
字段名数据类型数据长度主外键字段说明
idint10学生学号
namevarchar20学生姓名
gendervarchar6学生性别
phonevarchar20联系方式
CREATE TABLE STUDENTS(
	ID INT(10) NOT NULL PRIMARY KEY,
	NAME VARCHAR(20) NOT NULL,
	GENDER VARCHAR(6) NOT NULL,
	PHONE VARCHAR(20) NOT NULL
    )ENGINE=INNODB  DEFAULT CHARSET=UTF8;
  1. 在IDEA项目内创建properties文件,预定义数据库信息。
driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/university?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false
username=root
password=root

其中要注意的是,com.mysql.cj.jdbc.Driver是mysql-connector-java 6中的,所以设置时要注意指定时区serverTimezone

  1. 创建JDBCUtils工具类,编写创建连接与关闭连接的代码,首先配置数据库信息并用静态代码块注册SQL驱动。
    private static String driver;
    private static String url;
    private static String username;
    private static String password;

    static {
        Properties prop = new Properties();
        try {
            prop.load(JDBCUtils.class.getClassLoader().getResourceAsStream("mysql.properties"));
        } catch (IOException e) {
            throw new RuntimeException("Can't find file!");
        }

        driver = prop.getProperty("driver");
        url = prop.getProperty("url");
        username = prop.getProperty("username");
        password = prop.getProperty("password");

        try {
            Class.forName(driver);
        } catch (ClassNotFoundException e) {
            throw new RuntimeException("Can't register driver!");
        }
    }

编写数据库开启连接与关闭连接代码:

    public static Connection getConnection() throws SQLException {
        return DriverManager.getConnection(url,username,password);
    }


    public static void free(ResultSet rs , Statement st , Connection conn){
        try {
            if(rs!=null)
                rs.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            try {
                if(st!=null)
                    st.close();
            }catch (SQLException e){
                e.printStackTrace();
            }finally {
                try {
                    if(conn!=null)
                        conn.close();
                }catch (SQLException e){
                    e.printStackTrace();
                }
            }
        }

    }
  1. 编写Junit_Test测试类,进行代数据库操作测试,要先将代码的数据库连接部分和释放部分写好:
    private Connection conn = null;
    private Statement st = null;
    private ResultSet rs = null;

    @Before
    public void connConfig() throws SQLException {
        conn = JDBCUtils.getConnection();
        st = conn.createStatement();
    }
    
    @After
    public void connClose(){
        JDBCUtils.free(rs,st,conn);
    }
  1. 最后将代码的CRUD部分写好,接下来分别进行数据库的增加操作、修改操作,查找操作和删除操作。
  • 在数据库中增加数据:
        String sql = "insert into students values (1,'张三','男','15271945221');";
        st.execute(sql);

增加结果

  • 在数据库中修改数据:
        String sql = "update students set name = '李四' where id = 1";
        st.executeUpdate(sql);

修改数据

  • 在数据库中查找数据:
        String sql = "select * from students";
        rs = st.executeQuery(sql);
        while(rs.next())
            System.out.println(rs.getInt("id")+"--"+rs.getString("name")+"--"+rs.getString("gender")+"--"+rs.getString("phone"));

查找数据

  • 在数据库中删除数据:
        String sql = "delete from students where id = 1";
        st.executeUpdate(sql);

删除数据

总结

作为初步的数据库操作步骤,这里只简单的示范了一下基础部分,JDBC还有很多内容等着我们去深入学习和研究,进一步深入练习也为我们以后学习持久层框架打下坚实的基础。

对世界上的一切学问与知识的掌握也并非难事,只要持之以恒地学习,努力掌握规律,达到熟悉的境地,就能融会贯通,运用自如了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用JDBC连接MySQL数据库,你需要进行以下几个步骤: 1. 加载数据库驱动:使用`Class.forName("com.mysql.jdbc.Driver")`加载MySQLJDBC驱动。如果是MySQL 8及以上版本,需要使用`Class.forName("com.mysql.cj.jdbc.Driver")`加载驱动。 2. 获取数据库连接对象:使用`DriverManager.getConnection(url, username, password)`方法获取数据库连接对象。其中,`url`是数据库连接地址,`username`是数据库的用户名,`password`是数据库的密码。例如,`String url = "jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&characterEncoding=utf8&useSSL=true"`。 3. 进行数据库操作:获取到数据库连接对象后,你可以使用该对象进行数据库的增删改查等操作。 需要注意的是,如果出现`com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server`异常,可能是因为MySQL版本和驱动jar包不对应。请确保使用MySQL版本和驱动jar包是兼容的。 综上所述,使用JDBC连接MySQL数据库的步骤包括加载数据库驱动和获取数据库连接对象。 #### 引用[.reference_title] - *1* *3* [使用JDBC连接MySQL数据库](https://blog.csdn.net/sdafcaxc/article/details/124546043)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [使用JDBC连接MySQL数据库(详解)](https://blog.csdn.net/winner_ch/article/details/105742144)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值