1. 在当前Maven项目的pom.xml文件中导入数据库依赖:

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

2. 在IDEA中连接数据库

方式1:通过IDEA图形化界面连接数据库

  根据图中提示,进行数据库连接:

IDEA下Maven项目中通过JDBC连接MySQL数据库

IDEA下Maven项目中通过JDBC连接MySQL数据库

  然后,我们可以看到我们我们本地的数据库出现在IDEA中:

IDEA下Maven项目中通过JDBC连接MySQL数据库

  通过图形化界面,我们可以操作数据库,实现CURD。

方式2:通过Java程序连接数据库

  固定步骤如下:

  1.配置连接信息:


String url = "jdbc:mysql://localhost:3306/jdbc_db?useSSL=false&useUnicode=true&characterEncoding=UTF-8";

String username = "jdbc_acc";
String password = "123456";

  2. 加载驱动:


Class.forName("com.mysql.jdbc.Driver");

  3. 连接数据库,代表数据库:


Connection connection = DriverManager.getConnection(url, username, password);

  4.向数据库发送SQL对象Statement,进行CURD:


Statement statement = connection.createStatement();

  5.编写SQL(根据业务,不同的SQL):


String sql = "select * from stu;" ;

  6.执行SQL:


ResultSet resultSet = statement.executeQuery(sql);
while(resultSet.next()){
System.out.println("id=" + resultSet.getObject("id"));
System.out.println("name=" + resultSet.getObject("name"));
System.out.println("profession=" + resultSet.getObject("profession"));
System.out.println("age=" + resultSet.getObject("age"));
System.out.println("birthday=" + resultSet.getObject("birthday"));
System.out.println();
}

  7.关闭连接:


resultSet.close();
statement.close();
connection.close();

运行代码,可以看到在控制台输出了stu表的所有信息。

IDEA下Maven项目中通过JDBC连接MySQL数据库

(由于IDEA编码原因,本人的IDEA无法正常显示中文,试了网上的方法都没有效果,目前还在解决中)

3.使用预编译+事务提交,一种更加安全的操作方式

  基本流程与上面几乎一致,这里不再赘述。直接给出代码:


//配置信息
String url = "jdbc:mysql://localhost:3306/jdbc_db?useSSL=false&useUnicode=true&characterEncoding=UTF-8";
String username = "jdbc_acc";
String password = "123456";

//1.加载驱动
Class.forName("com.mysql.jdbc.Driver");

//2.连接数据库,代表数据库
Connection connection = DriverManager.getConnection(url, username, password);

//开启事务
connection.setAutoCommit(false);
//3.编写SQL
String sql = "insert into stu values(null,?,?,?,?);";

//4.预编译
PreparedStatement preparedStatement = connection.prepareStatement(sql);

preparedStatement.setString(1,"Tom");
preparedStatement.setString(2,"会计学");
preparedStatement.setInt(3,23);
preparedStatement.setDate(4,new Date(new java.util.Date().getTime()));

//提交事务
connection.commit();

//5.执行SQL
int i = preparedStatement.executeUpdate();
if(i > 0){
    System.out.println("插入成功@");
}

//6.关闭连接,释放资源(一定要做) 先开后关
preparedStatement.close();
connection.close();