java 怎么连接数据库?java连接数据库方式详解!

2021-06-03 16:20:07 浏览数 (4017)

对于应用而言,没有数据库的支持意味着该应用只能服务小部分人,只能存储小部分数据,而且数据不好进行管理,所以大多数编程语言能连接数据库以获得数据支持。那么 java 怎么连接数据库呢?让小编来告诉你。

阅前须知

java 项目要连接数据需要有相应的驱动。可以前往官网下载相应的驱动包

官网链接:https://dev.mysql.com/downloads/connector/j/

如果使用 maven 项目,可以在 pom 文件中添加如下依赖:

<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>8.0.25</version>
</dependency>

注:小编使用的是8.0.25版本的数据库,所以版本号是8.0.25,不同版本请自行修改。 

连接数据库与基本操作(代码附带注释):

import java.sql.*;//导入sql包才能进行jdbc操作
public class App {
    public static void main(String[] args){
        String url ="jdbc:mysql://127.0.0.1:3306/";//数据库主机地址
        String database ="w3c";//数据库名
        String encoding = "?characterEncoding=UTF-8";//数据库字符集
        String username = "root";//连接的用户名
        String password = "root";//连接的密码
        String insertSQL = " insert into newtable values (8,'username','123'); ";//插入SQL语句
        String selectSQL = "select * from newtable";//查询SQL语句
        Connection connection = null; //初始化数据库连接
        Statement statement = null; //初始化statement
        try {
             connection= DriverManager.getConnection(url+database+encoding,
                            username, password);//创建一个数据库连接
             statement= connection.createStatement();//创建一个statement
            //statement是java执行数据库操作的重要接口,用来执行简单的sql语句
            // 注意:使用的是 java.sql.Statement,不要不小心使用到: com.mysql.jdbc.Statement;
            statement.execute(insertSQL);//使用excute()方法可以执行创建,增加,删除,插入等SQL语句
            ResultSet result = statement.executeQuery(selectSQL);//使用excuteQuery()可以执行查询语句,并将结果集返回给ResultSet
            //数据展示方法,不深入介绍
            while(result.next()){//使用next方法可以一行一行的取数据,如果要全部取出,可以先存在一个数组里
                int id=result.getInt(1);//获取第一列的数据
                String user=result.getString(2);//获取第二列的数据
                String pwd=result.getString(3);//获取第三列的数据
                System.out.println("编号:"+id+",用户名:"+user+",密码:"+pwd);
                System.out.println("-----------------------");
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            // 数据库的连接时有限资源,相关操作结束后,养成关闭数据库的好习惯
            // 先关闭Statement
            if (statement != null)
                try {
                    statement.close();//关闭statement
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            // 后关闭Connection
            if (connection != null)
                try {
                    connection.close();//关闭数据库连接
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
        }
    }
}

小结

java 数据库的连接相比于 python 而言复杂了许多。好在 java 有比较成熟的数据库框架可以使用,在项目的开发中编写 jdbc 的机会较少。有兴趣深入了解的小伙伴可以去看看:

Hibernate视频教程

Mybatis视频教程