Java操作数据库
- ODBC : 在操作系统中,需要提供相关的数据库驱动,才能进行数据库的操作
- ODBC-JDBC
- JDBC : 给 Java 语言提供操作数据库的一套规范和标准
在 Java的官方 SDK 中,提供了操作数据库的 一套完整的接口
数据库的具体实现 由 各个数据库厂商提供对应的按照SDK提供的接口实现代码
引入 mysql的 数据库 驱动包
在 Java中操作数据库的步骤
-
- 加载数据库驱动 (在 JDBC3.0版本之后、该步骤可以省略)
Class.forName("com.mysql.cj.jdbc.Driver") ;
-
- 连接数据库、获取数据库的连接对象 Connection
String url = "jdbc:mysql://localhost:3306/java2206" ;
String user = "root" ;
String password = "123456" ;
Connection conn = DriverManager.getConnection(url , user , password) ;
-
- 获取 SQL 执行器对象 Statement
Statement st = conn.createStatement() ;
-
- 编写要执行的SQL命令
String sql = """
create table tb_jdbc(
id bigint primary key auto_increment,
jdbc_name varchar(100) comment 'jdbc名字',
jdbc_desc varchar(100) comment 'jdbc描述'
)
""" ;
-
- 执行 SQL语句
st.execute(sql)
execute 返回一个 boolean , true代表命令有执行结果,否则代表没有结果
-
- 释放资源
st.close() ;
conn.close();
Statement 中常见的方法
- execute(sql) : 可以执行任意的SQL语句、返回一个boolean 值, true代表命令有执行结果,否则代表没有结果
- executeUpdate(sql) : 可以执行 DML语句、返回一个 int ,代表影响的数据库的行数
- exceuteQuery(sql) : 执行 DQL 语句、返回一个ResultSet 结果集
插入 获取主键 方式 一
- executeUpdate(sql, Statement.RETURN_GENERATED_KEYS)
- getGeneratedKeys() : 返回一个ResultSet结果集,里面包含 生成的主键
Statement st = .... ;
st.executeUpdate(sql, Statement.RETURN_GENERATED_KEYS) ;
ResultSet rs = st.getGeneratedKeys();
if (rs.next()) {
Long key = rs.getLong(1) ;
}
插入 获取主键 方式 二
Statement st = .... ;
st.executeUpdate(sql) ;
String sql = "select last_insert_id()" ;
ResultSet rs = st.executeQuery(sql)
if (rs.next()) {
Long key = rs.getLong(1) ;
}