1. 在当前Maven项目的pom.xml文件中导入数据库依赖:
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
2. 在IDEA中连接数据库
方式1:通过IDEA图形化界面连接数据库
根据图中提示,进行数据库连接:
然后,我们可以看到我们我们本地的数据库出现在IDEA中:
通过图形化界面,我们可以操作数据库,实现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编码原因,本人的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();