【JAVA百炼成仙】JDBC连接MYSQL数据库
时间:2023-02-14 00:00:00
??这里是JAVA成仙之路
??如果对你有帮助,给博主一个免费的表扬来鼓励
欢迎大家点赞评论收藏
文章目录
-
- 什么是JDBC?
- 在MAVEN中引入驱动
- 连接数据库并进行测试
-
- 加载驱动
- 建立数据库连接
- 执行查询句
- 关闭数据库连接
- 最后附上SQL类型对应的JAVA类型
什么是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>
连接数据库并进行测试
连接数据库分为以下步骤:
-
加载驱动
-
建立数据库连接
-
执行相关语句
-
关闭连接
加载驱动
在JDBC其实8中会自动加载,这里还是按照规范演示一下。
代码如下:
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 {
publc 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类型
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 |