对于应用而言,没有数据库的支持意味着该应用只能服务小部分人,只能存储小部分数据,而且数据不好进行管理,所以大多数编程语言能连接数据库以获得数据支持。那么 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 的机会较少。有兴趣深入了解的小伙伴可以去看看: