使用JDBC连接数据库
程序员文章站
2024-03-09 14:54:23
...
前言
在用惯了mybatis连接数据库后,谁又想回到JDBC的时代呢?有人觉得这种老一套的东西根本不用记,上手能开发项目才是王道。我觉得不无道理,但是mybatis的底层其实也是原生的JDBC。了解底层,不仅能帮助记忆,有时还能很好地应对面试。这里的记录希望对刚学JDBC和用惯了Mybatis的人都有所帮助。
1. 创建数据库
2. 新建Maven项目
[1] 导入JDBC的连接包 (这里以5.x的版本为例)
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
<!--后面两个包分别是测试包和lombok的包,这里只是为了方便开发-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
</dependency>
[2] 编写pojo类
User.class
package com.gs.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private int id;
private String name;
private String pwd;
}
[3] 编写JDBC的连接代码 (重点)
<1> 加载驱动
Class.forName("com.mysql.jdbc.Driver");
<2> 获取Sql连接
//allowMultiQueries=true表示允许多条sql一起操作
String url = "jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true";
String username = "root";
String password = "123456";
Connection coon = DriverManager.getConnection(url, username, password);
<3> 创建一个执行sql语句的对象
这里有Statement 和 PreparedStatement两种(区别的话百度上就讲的很清楚了)
Statement statement = coon.createStatement();
<4> 执行sql 语句
若是增删改 使用 executeUpdate()这里没有返回的结果集
若是查询,使用executeQuery() 这里有返回的结果集
//4.执行查询
String sql = "select * from user1;";
ResultSet rs = statement.executeQuery(sql);
<5> 遍历结果集 (可选)
<6> 关闭连接 (规范的话要判断非空才关闭)
完整的代码
package com.gs.test;
import org.junit.Test;
import java.sql.*;
public class testJDBC {
static final String driver = "com.mysql.jdbc.Driver";
static final String url = "jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true";
static final String username = "root";
//static final String password = "123456";
@Test
public void QueryStatement() throws Exception {
Connection coon = null;
Statement statement = null;
ResultSet rs = null;
//1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
//2.获取sql连接
coon = DriverManager.getConnection(url, username, "");
//3.创建一个查询
statement = coon.createStatement();
//4.执行查询
String sql = "select * from user1;";
rs = statement.executeQuery(sql);
//5.遍历结果集
while (rs.next()){
System.out.print("id:"+rs.getObject(1)+"\t");
System.out.print("name:"+rs.getObject(2)+"\t");
System.out.print("pwd:"+rs.getObject(3)+"\t");
System.out.println();
}
rs.close();
statement.close();
coon.close();
}
}
控制台的结果:
下一篇: c# table 控件用法