IDEA下Maven项目中通过JDBC连接MySQL数据库
### 1. 在当前Maven项目的pom.xml文件中导入数据库依赖:
```<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
```
### 2. 在IDEA中连接数据库
#### 通过IDEA图形化界面连接数据库
根据图中提示,进行数据库连接


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

通过图形化界面,我们可以操作数据库,实现CURD。
#### 通过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:CRUD
```
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();
```
IDEA下Maven项目中通过JDBC连接MySQL数据库的更多相关文章
- JSP中使用JDBC连接MySQL数据库的详细步骤
1,首先在自己新建的项目文本框中输入Web Project的名称,然后单击下一步. 2,继续单击下一步 3,把Generate web.xml deployment descriptor复选框勾上. ...
- 在java程序中使用JDBC连接mysql数据库
在java程序中我们时常会用到数据库中的数据或操作数据库中的数据,如果java程序没有和我们得数据库连接,就不能实现在java程序中直接操作数据库.使用jdbc就能将java程序和数据库连起来,此时我 ...
- VS2017项目中使用代码连接MySQL数据库,以及进行数据添加
//头文件 #include "mysql.h" //函数定义 // 执行sql语句, 包括增加.删除.更新数据 bool ExecuteSql(MYSQL m_mysql,con ...
- 被缠上了,小王问我怎么在 Spring Boot 中使用 JDBC 连接 MySQL
上次帮小王入了 Spring Boot 的门后,他觉得我这个人和蔼可亲.平易近人,于是隔天小王又微信我说:"二哥,快教教我,怎么在 Spring Boot 项目中使用 JDBC 连接 MyS ...
- JDBC连接MySQL数据库及演示样例
JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...
- JDBC连接MySQL数据库及示例
JDBC是Sun公司制定的一个可以用Java语言连接数据库的技术. 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一 ...
- 在Eclipse中使用JDBC访问MySQL数据库的配置方法
在Eclipse中使用JDBC访问MySQL数据库的配置方法 分类: DATABASE 数据结构与算法2009-10-10 16:37 5313人阅读 评论(10) 收藏 举报 jdbcmysql数据 ...
- java用JDBC连接MySQL数据库的详细知识点
想实现java用JDBC连接MySQL数据库.需要有几个准备工作: 1.下载Connector/J的库文件,下载Connector/J的官网地址:http://www.mysql.com/downlo ...
- java jdbc 连接mysql数据库 实现增删改查
好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...
- 分页查询信息(使用jdbc连接mysql数据库实现分页查询任务)
分页查询信息 使用jdbc连接mysql数据库实现分页查询任务 通过mysql数据库提供的分页机制,实现商品信息的分页查询功能,将查询到的信息显示到jsp页面上. 本项目 ...
随机推荐
- vite 路径别名 @ 配置
vite.config.ts resolve.alias 配置 const path = require('path'); import { defineConfig } from 'vite'; i ...
- JavaScript 字符串的操作
1. 在指定位置,插入字符串(此需求来源于,img中src没值的字符串标签中,插入图片http地址) // 使用slice写出的 自定义方法,绑定在String的原型链上 String.prototy ...
- 全局 使用 stylus 变量
首先 安装 啦 npm i stylus stylus-loader -D 之后 使用全局变量 然后在组件中引用改变量 -->没有用! 原因还没有在build/utils.js文件 全局引入 ...
- Tomcat9启动闪退或者在windows服务中启动异常以及启动日志乱码问题
首先虽然jdk6以后不需要在环境变量中额外配置jre了,但是我在tomcat的bin下startup.bat时启动时发现 可见用到了JRE_HOME,所以你需要去额外配置一下,否则会出现另外一种错误, ...
- backward函数中gradient参数的一些理解
当标量对向量求导时不需要该参数,但当向量对向量求导时,若不加上该参数则会报错,显示"grad can be implicitly created only for scalar output ...
- re模块相关介绍
re模块 模块和实际工作时间的关系 time模块和时间是什么关系?re模块和正则表达式的关系? 有了re模块就可以在python语言中操作正则表达式 正则表达式 1:什么是正则表达式? 一套规则--- ...
- gitt如何将本地分支同远程分支进行关联
将本地分支同远程分支进行关联,1.本地已经创建了分支test(test,是master以外自己创建的分支),而远程没有2种方法在远程创建分支test,并与本地分支进行关联: 方法1: git push ...
- C++ PTA 小于m的最大的10个素数
7-5 小于m的最大的10个素数 (15分) 给定一个整数m(50<m<20000),找出小于m的最大的10个素数. 输入格式: 输入在一行中给出一个正整数m(50<m<200 ...
- Falsk 大文件上传/下载(send_from_directory)
下载接口: 服务端flask下载接口 @app.route("/api/download/", methods=["POST"]) def download() ...
- spring boot 中 CommandLineRunner接口使用
接口定义:接口,用于指示bean包含在SpringApplication中时应运行.可以在同一应用程序上下文中定义多个CommandLineRunner bean,并可以使用ordered接口或@Or ...