一、首先需要先下载数据库。
数据库的好处
1.持久化数据到本地
2.可以实现结构化查询,方便管理
数据库相关概念
1、DB:数据库,保存一组有组织的数据的容器
2、DBMS:数据库管理系统,又称为数据库软件(产品),用于管理DB中的数据
3、SQL:结构化查询语言,用于和DBMS通信的语言
存储数据的特点
1、将数据放到表中,表再放到库中
2、一个数据库中可以有多个表,每个表都有一个的名字,用来标识自己。表名具有唯一性。
3、表具有一些特性,这些特性定义了数据在表中如何存储,类似java中 “类”的设计。
4、表由列组成,我们也称为字段。所有表都是由一个或多个列组成的,每一列类似java 中的”属性”
5、表中的数据是按行存储的,每一行类似于java中的“对象”。
常见的数据库管理系统(DBMS)
MySQL、Oracle、DB2、SqlServer等
Sql的优点:
1、不是某个特定数据库供应商专有的语言,几乎所有DBMS都支持SQL
2、简单易学
3、虽然简单,但实际上是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作。
SQL语言的分类(也可以其他样式的分,分类大致相同)
DQL(Data Query Language):数据查询语言
select
DML(Data Manipulate Language):数据操作语言
insert 、update、delete
DDL(Data Define Languge):数据定义语言
create、drop、alter
TCL(Transaction Control Language):事务控制语言
commit、rollback
数据库的安装
0、说明
由于MySQL是免费的数据库管理系统,且适用于中小型企业的使用,故在此安装此数据库管理系统。
需要先进行MySQL的安装(可以选择免费版进行安装),接着安装图形化用户界面,这个是收费的,建议支持正版。
1、安装MySQL数据库
概述:
1、在官网下载合适版本
2、进行安装
3、配置环境变量
4、通过cmd命令行,检测是否安装成功
官网如下:https://www.mysql.com/
安装具体细节可以参照尚硅谷–>MySQL篇宋红康老师基础篇P7
2、安装图形化用户界面
MySQL图形化管理工具极大地方便了数据库的操作与管理,常用的图形化管理工具有:MySQL Workbench、phpMyAdmin、Navicat Preminum、MySQLDumper、SQLyog、dbeaver、MySQL ODBC Connector。
Mysql图形化管理工具极大地方便了数据库的操作与管理,常用的图形化管理工具有:MySQLWorkbench、phpMyAdmin、Navicat preminum、MySQLDumper、SQLyog、daver、MySQL ODBC连接器。
详细安装课参照尚硅谷–>MySQL篇宋红康老师基础篇P10
二、在JAVA中进行操作建立与数据库的连接
1、在工程类下建一个名为lib的Floder,用于存放jar包
2、前往MySQL官网将自己下载的MySQL对应版本的jar包下载下来粘贴到本lib包下
jar包的获取与MySQL官网:https://downloads.mysql.com/archives/c-j/
下载完成后将文件直接复制粘贴即可导入到lib包下
3、在src项目下建一个名为jdbc.properties(名字自定)的File,用于填写获取连接的四个基本信息。
注:密码需要填写自己安装MySQL时的密码
4、编写连接数据库的代码
package connectionshow;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties;
public class ConnectionTestShow {
public void getConnection5() throws Exception {
//1.读取配置文件中的4个基本信息
InputStream is = ConnectionTestShow.class.getClassLoader().getResourceAsStream("jdbc.properties");
Properties pros = new Properties();
pros.load(is);
String user = pros.getProperty("user");
String password = pros.getProperty("password");
String url = pros.getProperty("url");
String driverClass = pros.getProperty("driverClass");
//2.加载驱动
Class.forName(driverClass);
//3.获取连接
Connection conn = DriverManager.getConnection(url, user, password);
System.err.println(conn);
}
}
若运行结束后下面出现红色字体Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
不用担心,已经成功连接了。原因是自己的java版本过高
三、JAVA已经成功连接数据库,现在编写增删改的代码
建立实现最终的运行类
package connectionshow;
import java.sql.Connection;
import java.sql.PreparedStatement;
public class PreparedStatementUpdateTest {
public void testCommonUpdate() {
String sql = "update `order` set order_name = ? where order_id = ?";
update(sql,"DD","2");
}
//这里只写了删除操作,其余操作类似,可以自行补全增和删。
//通用的增删改操作
public void update(String sql,Object ...args){//sql中占位符的个数与可变形参的长度相同!
Connection conn = null;
PreparedStatement ps = null;
try {
//1.获取数据库的连接
conn = JDBCUtils.getConnection();
//2.预编译sql语句,返回PreparedStatement的实例
ps = conn.prepareStatement(sql);
//3.填充占位符
for(int i = 0;i < args.length;i++) {
ps.setObject(i+1, args[i]);
}
//4.执行
ps.execute();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
//5.资源的关闭
JDBCUtils.closeResource(conn, ps);
}
}
}
为了增加代码的封装性,将1.获取数据库的连接与5.资源的关闭封装在JDBCUtils类下
package com.atguigu3.util;
/*
* 操作数据库的工具类
*
*/
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Properties;
import com.atguigu1.connection.ConnectionTest;
public class JDBCUtils {
//获取数据库的连接
public static Connection getConnection() throws Exception {
// 1.读取配置文件中的4个基本信息
InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("jdbc.properties");
Properties pros = new Properties();
pros.load(is);
String user = pros.getProperty("user");
String password = pros.getProperty("password");
String url = pros.getProperty("url");
String driverClass = pros.getProperty("driverClass");
// 2.加载驱动
Class.forName(driverClass);
// 3.获取连接
Connection conn = DriverManager.getConnection(url, user, password);
return conn;
}
//关闭连接和Statement的操作
public static void closeResource(Connection conn,PreparedStatement ps) {
//7.资源的关闭
try {
if(ps != null)
ps.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
if(conn != null)
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
综上:希望能给予你帮助,也可直接去尚硅谷官网学习MySQL与JDBC课程完成。
尚硅谷官网:http://www.atguigu.com/