什么是JDBC?
Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。我们通常说的JDBC是面向关系型数据库的。
在MAVEN中引入驱动
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
</dependency>
</dependencies>
连接数据库并测试
连接数据库分为以下几步:
加载驱动 建立数据库连接 执行相关的语句 关闭连接加载驱动
在JDBC8中其实会自动加载,这里还是按规范演示一下。 代码如下:
public class Test {
public static void main(String[] args) throws SQLException, ClassNotFoundException {
var a = Class.forName("com.mysql.cj.jdbc.Driver");
System.out.println(a);
}
}
结果:驱动加载成功
建立数据库连接
代码:
public class Test {
public static void main(String[] args) throws SQLException, ClassNotFoundException {
//加载驱动
var a = Class.forName("com.mysql.cj.jdbc.Driver");
System.out.println(a);
//连接数据库 localhost是连接本地IP,3307是数据库的端口,一般端口默认是3306,这里我的端口改过参考一下就可以。
//test 是要连接的数据库名,root是账号,我没有设置密码所以不用写。
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3307/test?user=root");
System.out.println(conn);
}
}
结果:
执行查询语句
代码:
public class Test {
public static void main(String[] args) throws SQLException, ClassNotFoundException {
//加载驱动
var a = Class.forName("com.mysql.cj.jdbc.Driver");
System.out.println(a);
//连接数据库 localhost是连接本地IP,3307是数据库的端口,一般端口默认是3306,这里我的端口改过参考一下就可以。
//test 是要连接的数据库名,root是账号,我没有设置密码所以不用写。
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3307/test?user=root");
System.out.println(conn);
//创建SQL语句执行工具
Statement st = conn.createStatement();
//ResultSet的意思是结果集,查询返回的结果放在ResultSet对象中,结果集中有一个光标每次只指一行,并且是从第一行开始
ResultSet rs = st.executeQuery("select * from user");
//判断当前列是否有值
//rs.next()rs中的光标向下移动一位
while (rs.next()) {
//rs.getString将当前列作为String类型保存,参数为当前列的标签
System.out.println(rs.getString("name"));
}
}
}
结果:
关闭数据库连接
public class Test {
public static void main(String[] args) throws SQLException, ClassNotFoundException {
//加载驱动
var a = Class.forName("com.mysql.cj.jdbc.Driver");
System.out.println(a);
//连接数据库 localhost是连接本地IP,3307是数据库的端口,一般端口默认是3306,这里我的端口改过参考一下就可以。
//test 是要连接的数据库名,root是账号,我没有设置密码所以不用写。
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3307/test?user=root");
System.out.println(conn);
//创建SQL语句执行工具
Statement st = conn.createStatement();
//查询sql语句返回一个ResultSet对象
ResultSet rs = st.executeQuery("select * from user");
//判断当前列是否有值
//rs.next()rs中的光标向下移动一位
while (rs.next()) {
//rs.getString将当前列作为String类型保存,参数为当前列的标签
System.out.println(rs.getString("name"));
}
//关闭连接
conn.close();
}
}
SQL类型对应的JAVA类型
| CHAR | java.lang.String |
| VARCHAR | java.lang.String |
| LONGVARCHAR | java.lang.String |
| NUMERIC | java.math.BigDecimal |
| DECIMAL | java.math.BigDecimal |
| BIT | boolean |
| TINYINT | byte |
| SMALLINT | short |
| INTEGER | int |
| BIGINT | long |
| REAL | float |
| FLOAT | double |
| DOUBLE | double |
| BINARY | byte[] |
| VARBINARY | byte[] |
| LONGVARBINARY | byte[] |
| DATE | java.sql.Date |
| TIME | java.sql.Time |
| TIMESTAMP | java.sql.Timestamp |
| BLOB | java.sql.Blob |
| CLOB | java.sql.Clob |
| Array | java.sql.Array |
| REF | java.sql.Ref |
| Struct | java.sql.Struct |
到此这篇关于JDBC连接MYSQL分步详解的文章就介绍到这了,更多相关JDBC 连接 MYSQL内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
原文链接:https://blog.csdn.net/weixin_50843918/article/details/123200541
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did194635