加载数据库驱动
要使用IDEA对mysql数据库进行操作,首先第一步就要加载驱动。
1、下载驱动jar包,安装在任意位置。我下载的是5.0.8版本
这里有其他人分享的链接: link.
图片:
2、打开IDEA,打开Project Structure(在File中),点击Modules, 点击右侧的+号选第一个jars of directories,找到你刚刚解压缩的位置,选中文件mysql-connector-java-5.0.8-bin.jar——>点击确定
图片:
3、查看Extermal libraries中是否有mysql-connector-java-5.1.42-bin.jar驱动,若有则说明成功
图片:
另外一种方法是进行第一步后,自己创建lib文件夹,然后再File中的Project Structure中的library中进行设置,同样导入那个驱动(JAR包),然后点击确定即可。此时驱动就放在lib目录下。
连接mysql数据库
接下来是连接数据库。这里默认数据库已经配置好。
1、View→Tool Windows→Database打开数据库工具窗口,
2、在界面右边点击Database工具窗口左上角添加按钮“+”,选择数据库类型,这里以MySQL为例,则点击的是MySQL
3、填写数据库连接的主机名、数据库名、用户名和密码
4、点击Test Connection按钮进行测试数据库连接是否正常
进行IDEA编程
众所周知,IDEA 的编程主要就是六大步骤:加载数据库驱动、建立数据库连接、执行SQL语句、得到结果集、展示数据集。
下面我从一个实际例子——对数据库test1进行建表操作并在IDEA中进行SQL 语句简单操作 来说明这几块。(当然我边写边学的)
在MYSQL中建数据库、建表
1、首先打开MYSQL,在左边空白处单击右键,点击创建数据库
2、右键单击数据库test1下面的表,创建表,输入表数据,设置主键(信息的唯一标识)
3、打开左侧目录栏下面的表,就可看见有student表了,右键单击选择打开表,则可以进行表内容编辑
4、编辑完成后要点击表上面一栏的保存按钮进行保存。
在IDEA中编程实现六大步骤
package com.dgd.test;
import java.sql.*;
private static Connection con; //声明 Connection 对象
private static PreparedStatement pStmt;//声明预处理 PreparedStatement 对象
private static ResultSet res;//声明结果 ResultSet 对象
private static String url = "jdbc:mysql://localhost:3306/test1";// 协议:子协议://目标IP地址:端口/数据库 在这里test1是之前创建的数据库名
private static String user = "root";
private static String password = "123";
public Connection getConnection() {//建立返回值为 Connection 的方法
//代码块(1):加载数据库驱动类
try {
Class.forName("com.mysql.jdbc.Driver");
System.out.println("数据库驱动加载成功");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
//代码块(2):通过访问数据库的URL获取数据库连接对象
try {
con = DriverManager.getConnection(url, user, password);
System.out.println("数据库连接成功");
} catch (SQLException e) {
e.printStackTrace();
}
return con;
}
public static void main(String[] args) {//主方法
DBTest h = new DBTest();//创建本类对象
con = h.getConnection();//与数据库建立连接
queryData();//查询数据
//addData();//增添数据
//updateData();//更新数据
//deleteData();//删除数据
}
//代码块(3):运用SQL语句进行操作
public static void queryData() {
try { //mysql查询语句
String sql = "SELECT * FROM student";
//代码块(4):得到结果集
pStmt = con.prepareStatement(sql);
res = pStmt.executeQuery();
while (res.next()) {//如果当前语句不是最后一条,则进入循环
//代码块(5):展示数据集
System.out.println(res.getString("学号") + " "
+ res.getString("姓名") + " " + res.getString("性别") +
" " + res.getString("分数"));
// System.out.println(rs.getString("姓名"));
// System.out.println(rs.getString("性别"));
// System.out.println( rs.getString("学号") + rs.getString("姓名"));
}
res.close();//释放资源
pStmt.close();
} catch (SQLException e) {//捕获异常
e.printStackTrace();
}
}
public static void addData() {//添加数据操作
try {
//pStmt = con.prepareStatement
pStmt = con.prepareStatement("insert into student (学号, 姓名, 性别,分数) values('6','熊二','女','95')");
pStmt.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void updateData() {//更新数据操作
try {
pStmt = con.prepareStatement("update student set 姓名 = '熊三' where 学号 = 1");
// pStmt.setString(1, "周礼");通配符
pStmt.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void deleteData() {//删除数据操作
try {
Statement stmt = con.createStatement();//创建Statement对象
stmt.executeUpdate("delete from student where 学号=4");
} catch (Exception e) {
e.printStackTrace();
}
}
}
结果展示
首先数据库数据如下:
1、加载驱动、连接数据库、进行查询
2、更新数据
pStmt = con.prepareStatement("update student set 姓名 = '小蜜蜂' where 学号 = 2");
结果栏只显示如下:
但我们可以在界面右侧的数据库显示那里双击student表,则可以看见。数据已经改了。
3、删除数据
stmt.execu![teUpdate("delete from student where 学号=4");
可以看到学号为4的记录已经删除了
这里要重点提醒大家,在改动数据之后,重新查看表的时候一定要刷新,表上面加号左边那个就是,不然看到的还是之前的数据。
4、增加数据
pStmt = con.prepareStatement("insert into student values('6','熊二','女','95')");
5、模糊查询
String sql = "SELECT * FROM student where 姓名 like '%佛%'";