本文共 2738 字,大约阅读时间需要 9 分钟。
MYSQL基础(也是我写滴):https://blog.csdn.net/qq_44876636/article/details/115555442
访问MySQL数据库需要用到第三方的类,这些第三方的类,都被压缩在一个叫做Jar的文件里。为了代码能够使用第三方的类,需要为项目导入mysql的专用Jar包。
下载mysql-jdbc的jar包:https://dev.mysql.com/downloads/connector/j/
步骤 1 : 为项目导入mysql-jdbc的jar包
步骤 2 : 初始化驱动 步骤 3 : 建立与数据库的连接 步骤 4 : 创建Statement 步骤 5 : 执行SQL语句 步骤 6 : 关闭连接差不多酱紫:
public class Statement ,一个Statement对象表示一个原始语句。
用途:调用方法执行SQL语句。
常用方法:
方法 | 解读 |
---|---|
public Object getTarget() | 返回此语句的目标对象。 |
public String getMethodName() | 返回要调用的方法的名称。 |
public Object[] getArguments() | 返回要调用的方法的参数。 |
public void execute() throws 异常 | execute方法查找名称与 methodName属性相同的方法,并调用目标方法。 |
public String toString() | 使用Java风格的语法打印此语句的值。 |
public interface PreparedStatement extends Statement,表示预编译的SQL语句的对象。
方法 | 解读 |
---|---|
public void setXXX(int parameterIndex, XXX x) throws SQLException | 将指定的参数设置为给定的Java XXX值。 当驱动程序将其发送到数据库时,将其转换为SQL XXX值。 |
public boolean execute() throws SQLException | 执行此 PreparedStatement对象中的SQL语句,这可能是任何类型的SQL语句。 |
public ResultSet executeQuery() throws SQLException | 执行此 PreparedStatement对象中的SQL查询,并返回查询 PreparedStatement的 ResultSet对象。 |
public int executeUpdate() throws SQLException | 执行此 PreparedStatement对象中的SQL查询,它必须是一个SQL数据操纵语言(DML)语句。 |
public void addBatch() throws SQLException | 向这个 PreparedStatement对象的一批命令添加一组参数。 |
public void clearParameters() throws SQLException | 立即清除当前参数值 。 |
public ResultSetMetaData getMetaData() throws SQLException | 检索一个 ResultSetMetaData对象,其中包含有关执行此 PreparedStatement对象时将返回的 ResultSet对象的列的信息。 |
就执行不同的SQL语句。
查询的结果可以保存在ResultSet中。 ResultSet中有好多public void getXXX(参数)的方法。参数可以是字段名,也可以是字段的顺序。获取自增长id:
在Statement通过execute或者executeUpdate执行完插入语句后,MySQL会为新插入的数据分配一个自增长id,(前提是这个表的id设置为了自增长,在Mysql创建表的时候,AUTO_INCREMENT就表示自增长)。 无论是execute还是executeUpdate都不会返回这个自增长id是多少。需要通过Statement的getGeneratedKeys获取该id。获取表的元数据
元数据概念:和数据库服务器相关的数据,比如数据库版本,有哪些表,表有哪些字段,字段类型是什么等等。 需要使用DatabaseMetaData类获取:在MySQL中,只有当表的类型是INNODB的时候,才支持事务,所以需要把表的类型设置为INNODB,否则无法观察到事务。
在默认情况下,MySQL每执行一条语句,都是一个单独的事务。 如果需要多条语句一起执行(同时成功或者失败),那么就需要开启事务和结束事务。 Connection的三个方法与事务有关:一个对象,对应数据库里的一条记录
就是写一个类,把访问数据库的代码封装起来。DAO在数据库与业务逻辑(Service)之间。
与线程池类似的,数据库也有一个数据库连接池。
加数据库一起5天