目录
一、Java的数据库编程:JDBC
1.1JDBC工作原理
二、Java具体连接数据库
2.1准备过程
2.2代码连接数据库
一、Java的数据库编程:JDBC
JDBC,即Java Database Connectivity,java数据库连接。是一种用于执行SQL语句的Java API,它是Java中的数据库连接规范。这个API由 java.sql.*,javax.sql.* 包中的一些类和接口组成,可以为多种关系数据库提供统一访问。
1.1JDBC工作原理
JDBC访问数据库层次结构:
JDBC优势:
- Java语言访问数据库操作完全面向抽象接口编程
- 开发数据库应用不用限定在特定数据库厂商的API
- 程序的可移植性大大增强
二、Java具体连接数据库
2.1准备过程
首先根据自己的mysql版本去选择对应的jar包,这里推荐使用中央仓库https://mvnrepository.com/去下载对应的jar包。
如果你的mysql版本是5.多那就在对应的5版本中随便下载一个就行了,8.多版本就在8.版本随便下载一个,不能5版本用8版本的jar包
然后开始建立项目,在项目中建立一个lib的文件夹
将下载好的jar包复制到lib文件夹中,然后右键lib文件夹找到并点击Add最后点击ok,准备工作就已经结束了
2.2代码连接数据库
1.创建数据源:
DataSource dataSource = new MysqlDataSource();
//这个setUrl中的直接复制就行了,不需要刻意的去记,但是一点要更改这个test数据库为自己的数据库
((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false");
//输入用户名,一般都是root
((MysqlDataSource) dataSource).setUser("root");
//输入自己的数据库密码,
((MysqlDataSource) dataSource).setPassword("123456");
2.和数据库建立连接
//这里会有一个异常,直接抛出去就行了
Connection connection = dataSource.getConnection();
3.构造sql语句
这里是默认已经有了test表,没有的可以自己建立一个,或者使用自己表
create table test(
id int,
name varchar(20)
);
String sql = "insert into test values(1,'张三')";
//使用prepareStatement对sql语句进行解析
PreparedStatement statement = connection.prepareStatement(sql);
4.执行sql语句
int n = statement.executeUpdate();
总体过程:
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class JDBCDemo2 {
public static void main(String[] args) throws SQLException {
//1.创建“数据源”
DataSource dataSource = new MysqlDataSource();
//这个setUrl中的直接复制就行了,不需要刻意的去记,但是一定要更改这个test数据库为自己的数据库
((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false");
//输入用户名,一般都是root
((MysqlDataSource) dataSource).setUser("root");
//输入自己的数据库密码,
((MysqlDataSource) dataSource).setPassword("123456");
//2.和数据库服务器建立连接
//这里会有一个异常,直接抛出去就行了
Connection connection = dataSource.getConnection();
//3.构造sql语句,这里默认已经有了test表
String sql = "insert into test values(1,'张三')";
//使用prepareStatement对sql语句进行解析
PreparedStatement statement = connection.prepareStatement(sql);
//4.执行sql语句
int n = statement.executeUpdate();
//释放资源.关闭连接
statement.close();
connection.close();
}
}
准备执行,先查看test表是否含有数据,这里发现是没有数据的,然后启动程序,再次进行查询发现已经有数据了,证明数据库连接成功!