java使用MySQL学习

java商城项目面试问题,【mysql学习】7 Java架构进阶面试及知识点文档笔记这份文档共498页,其中包括Java集合,并发编程,JVM,Dubbo,Redis,Spring全家桶,MySQL,Kafka等面试解析及知识点整理Java分布式高级面试问题解析文档其中都是包括分布式的面试问题解析,内容有分布式消息队列,Redis缓存,分库分表,微服务架构,分布式高可用,读写分离等等!互联网Java程序员面试必备问题解析及文档学习笔记Java架构进阶视频解析合集《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》 阅读详情

 

 

1、创建 Statement 对象 

建立了到特定数据库的连接之后,就可用该连接发送 SQL 语句。

 

Statement 对象用 Connection 的方法 createStatement 创建,如下列代码段中所示:

 

  String sql = String.format("INSERT INTO %s ( %s ) VALUES ( %s )", table_A, AttList.toString(), ValList.toString()) 
  Class.forName("com.ibm.db2.jdbc.app.DB2Driver   ").newInstance();     
  String   url="jdbc:db2://localhost:5000/DBserverName";     
   //DBserverName为你的数据库名     
  String   user="admin";     
  String   password=""; 
  Connection m_lblDBconn = DriverManager.getConnection(url, user, password);

  Statement SQLDBStm = m_lblDBconn.createStatement();

//驱动数据库厂商就是根据JDBC的接口规范编写的实现类 当你加载注册一个数据库的驱动后 进行数据库操作时,就会生成驱动里面的具体类的对象 然后通过一个接口引用指向这个对象m_lblDBconn  Statement SQLDBStm = m_lblDBconn.createStatement() 你可以通过rtti得到获得具体对象 

 

为了执行 Statement 对象,被发送到数据库的 SQL 语句将被作为参数提供给 Statement 的方法: 

  int  ID = -1;

  SQLDBStm.executeUpdate( sql, Statement.RETURN_GENERATED_KEYS);

 

我们通过以下方法获得新增数据的主键值

  ResultSet rs = SQLDBStm.getGeneratedKeys();

  rs.first();

  if (rs.next()){

 ID = rs.getInt(1); //Obtain the new ID;

  }  

return Integer.toString(ID);

 

这里我们使用了获得自动生成主键的方法executeUpdate( sql, Statement.RETURN_GENERATED_KEYS);并使用getGeneratedKeys()

返回Id值

 

2、使用 Statement 对象执行语句 

Statement 接口提供了三种执行 SQL 语句的方法:executeQuery、executeUpdate 和 execute。使用哪一个方法由 SQL 语句所产生的内容决定。 

方法 executeQuery 用于产生单个结果集的语句,例如 SELECT 语句。 

方法 executeUpdate 用于执行 INSERT、UPDATE 或 DELETE 语句以及 SQL DDL(数据定义语言)语句,例如 CREATE TABLE 和 DROP TABLE。INSERT、UPDATE 或 DELETE 语句的效果是修改表中零行或多行中的一列或多列。executeUpdate 的返回值是一个整数,指示受影响的行数(即更新计数)。对于 CREATE TABLE 或 DROP TABLE 等不操作行的语句,executeUpdate 的返回值总为零。 

方法 execute 用于执行返回多个结果集、多个更新计数或二者组合的语句。因为多数程序员不会需要该高级功能,所以本概述后面将在单独一节中对其进行介绍。 

执行语句的所有方法都将关闭所调用的 Statement 对象的当前打开结果集(如果存在)。这意味着在重新执行 Statement 对象之前,需要完成对当前 ResultSet 对象的处理。 

应注意,继承了 Statement 接口中所有方法的 PreparedStatement 接口都有自己的 executeQuery、executeUpdate 和 execute 方法。Statement 对象本身不包含 SQL 语句,因而必须给 Statement.execute 方法提供 SQL 语句作为参数。PreparedStatement 对象并 不将 SQL 语句作为参数提供给这些方法,因为它们已经包含预编译 SQL 语句。CallableStatement 对象继承这些方法的 PreparedStatement 形式。对于这些方法的 PreparedStatement 或 CallableStatement 版本,使用查询参数将抛出 SQLException。

 

3、语句完成 

当连接处于自动提交模式时,其中所执 行的语句在完成时将自动提交或还原。语句在已执行且所有结果返回时,即认为已完成。对于返回一个结果集的 executeQuery 方法,在检索完 ResultSet 对象的所有行时该语句完成。对于方法 executeUpdate,当它执行时语句即完成。但在少数调用方法 execute 的情况中,在检索所有结果集或它生成的更新计数之后语句才完成。

 

4、关闭 Statement 对象 

Statement 对象将由 Java 垃圾收集程序自动关闭。而作为一种好的编程风格,应在不需要 Statement 对象时显式地关闭它们。这将立即释放 DBMS 资源,有助于避免潜在的内存问题。

 

statement-相关概述

Statement 对象用于将 SQL 语句发送到数据库中。实际上有三种 Statement 对象,它们都作为在给定连接上执行  statementSQL 语句的包容器:Statement、PreparedStatement(它从 Statement 继承而来)和 CallableStatement(它从 PreparedStatement 继承而来)。它们都专用于发送特定类型的 SQL 语句: Statement 对象用于执行不带参数的简单 SQL 语句;PreparedStatement 对象用于执行带或不带 IN 参数的预编译 SQL 语句;CallableStatement 对象用于执行对数据库已存储过程的调用。


Statement 接口提供了执行语句和获取结果的基本方法。PreparedStatement 接口添加了处理 IN 参数的方法;而 CallableStatement 添加了处理 OUT 参数的方法。

有些 DBMS 将已存储过程中的每条语句视为独立的语句;而另外一些则将整个过程视为一个复合语句。在启用自动提交时,这种差别就变得非常重要,因为它影响什么时候调用 commit 方法。在前一种情况中,每条语句单独提交;在后一种情况中,所有语句同时提交。

JDBC 3种获得mysql插入数据的自增字段值的方法

1. Retrieving AUTO_INCREMENT Column Values using Statement.getGeneratedKeys()
2. Retrieving AUTO_INCREMENT Column Values using SELECT LAST_INSERT_ID()
3. Retrieving AUTO_INCREMENT Column Values in Updatable ResultSets

 

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class RetrievAutoIncrementTest {

 public void init() throws Exception {
  Statement stmt = null;
  ResultSet rs = null;
  Connection conn = null;
  try {
   Class.forName("com.mysql.jdbc.Driver");
   conn = DriverManager
     .getConnection("jdbc:mysql://localhost/test?","root", "admin");
   // Issue the DDL queries for the table for this example
   stmt = conn.createStatement();
   stmt.executeUpdate("DROP TABLE IF EXISTS autoIncTutorial");

  //创建数据库表autoIncTutorial。
   stmt.executeUpdate("CREATE TABLE autoIncTutorial ("
     + "priKey INT NOT NULL AUTO_INCREMENT, "
     + "dataField VARCHAR(64), PRIMARY KEY (priKey))");
  } finally {
   if (rs != null) {
    try {
     rs.close();
    } catch (Exception e) {
    }
   }
   if (stmt != null) {
    try {
     stmt.close();
    } catch (Exception e) {
    }
   }
   if (conn != null) {
    try {
     conn.close();
    } catch (Exception e) {
    }
   }
  }
 }

 

方法1:

 public void test1() throws Exception {
  Statement stmt = null;
  ResultSet rs = null;
  Connection conn = null;
  try {
   Class.forName("com.mysql.jdbc.Driver");
   conn = DriverManager
     .getConnection("jdbc:mysql://localhost:3306/test","root", "admin");
   // Create a Statement instance that we can use for
   // 'normal' result sets assuming you have a
   // Connection 'conn' to a MySQL database already available
   stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY,
     java.sql.ResultSet.CONCUR_UPDATABLE);
   //Insert one row that will generate an AUTO INCREMENT key in the 'priKey' field
     for (int i = 0; i < 10; i++) {
    stmt.executeUpdate("INSERT INTO autoIncTutorial (dataField) "
      + "values ('Can I Get the Auto Increment Field?')",
      Statement.RETURN_GENERATED_KEYS);
     // Example of using Statement.getGeneratedKeys()
    // to retrieve the value of an auto-increment value
    int autoIncKeyFromApi = -1;
    rs = stmt.getGeneratedKeys();
    if (rs.next()) {
     autoIncKeyFromApi = rs.getInt(1);
    } else {
     // throw an exception from here
    }
    rs.close();
    rs = null;
    System.out.println("Key returned from getGeneratedKeys():"
      + autoIncKeyFromApi);
   }
  } finally {
   if (rs != null) {
    try {
     rs.close();
    } catch (Exception e) {
    }
   }
   if (stmt != null) {
    try {
     stmt.close();
    } catch (Exception e) {
    }
   }
   if (conn != null) {
    try {
     conn.close();
    } catch (Exception e) {
    }
   }
  }
 }

 

方法2:

 public void test2() throws Exception {
  Statement stmt = null;
  ResultSet rs = null;
  Connection conn = null;
  try {

   //
   // Create a Statement instance that we can use for
   // 'normal' result sets.
   Class.forName("com.mysql.jdbc.Driver");
   conn = DriverManager
     .getConnection("jdbc:mysql://localhost/test","root", "admin");

   stmt = conn.createStatement();
   // Insert one row that will generate an AUTO INCREMENT
   // key in the 'priKey' field
   for (int i = 0; i < 10; i++) {
    stmt.executeUpdate("INSERT INTO autoIncTutorial (dataField) "
      + "values ('Can I Get the Auto Increment Field?')");
    // Use the MySQL LAST_INSERT_ID() function to do the same thing as getGeneratedKeys()
    int autoIncKeyFromFunc = -1;
    rs = stmt.executeQuery("SELECT LAST_INSERT_ID()");

    if (rs.next()) {
     autoIncKeyFromFunc = rs.getInt(1);
    } else {
     // throw an exception from here
    }
    rs.close();
    System.out.println("Key returned from "
      + "'SELECT LAST_INSERT_ID()': " + autoIncKeyFromFunc);
   }
  } finally {
   if (rs != null) {
    try {
     rs.close();
    } catch (Exception e) {
    }
   }
   if (stmt != null) {
    try {
     stmt.close();
    } catch (Exception e) {
    }
   }
   if (conn != null) {
    try {
     conn.close();
    } catch (Exception e) {
    }
   }
  }
 }

 

方法3:

 public void test3() throws Exception {
  Statement stmt = null;
  ResultSet rs = null;
  Connection conn = null;
  try {
   // Create a Statement instance that we can use for
   // 'normal' result sets as well as an 'updatable'
   // one, assuming you have a Connection 'conn' to a MySQL database already available

   Class.forName("com.mysql.jdbc.Driver");
   conn = DriverManager
     .getConnection("jdbc:mysql://localhost/test","root", "admin");
   stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY,
     java.sql.ResultSet.CONCUR_UPDATABLE);
   for (int i = 0; i < 10; i++) {
    // Example of retrieving an AUTO INCREMENT key from an updatable result set
    rs = stmt.executeQuery("SELECT priKey, dataField "+ "FROM autoIncTutorial");

    rs.moveToInsertRow();
    rs.updateString("dataField", "AUTO INCREMENT here?");
    rs.insertRow();
    // the driver adds rows at the end
    rs.last();
    // We should now be on the row we just inserted
    int autoIncKeyFromRS = rs.getInt("priKey");
    rs.close();
    rs = null;
    System.out.println("Key returned for inserted row: "+ autoIncKeyFromRS);
   }
  } finally {
   if (rs != null) {
    try {
     rs.close();
    } catch (Exception e) {
    }
   }
   if (stmt != null) {
    try {
     stmt.close();
    } catch (Exception e) {
    }
   }
   if (conn != null) {
    try {
     conn.close();
    } catch (Exception e) {
    }
   }
  }
 }


 public static void main(String[] args) throws Exception {
  RetrievAutoIncrementTest test = new RetrievAutoIncrementTest();
  test.init();
  test.test1();  //测试第一种获取自增字段的值
  test.test2();  //测试第二种获取自增字段的值
  test.test3();  //测试第三种获取自增字段的值
 }

}

 

参考文献:

 

[1]  三种获得自动生成主键的方法,getGeneratedKeys,专用SQL和可更新的结果集

             http://blog.youkuaiyun.com/java2000_net/archive/2008/09/27/2989625.aspx

 

[2]    java Statement详细用法

             http://hi.baidu.com/shifeng121/blog/item/0a38c3588e5fa589810a18c7.html

 

addr2line解析不出来行号的解决方式(汇编解析高阶版) 摘要:本文针对AEC crash问题中addr2line无法解析行号的情况,通过llvm-addr2line和反汇编分析,定位到CamX::AECBEStats17::AdjustROIParams函数中的乘法溢出问题。关键发现包括: 常规addr2line只能解析到函数名但无具体行号 llvm-addr2line解析出多个可能溢出点(行196/204/211/218/270/271) 反汇编显示6个条件分支跳转到溢出处理函数 源码分析确认这些位置均存在乘法运算 最终通过汇编级调试工具成功定位UBsan报告 阅读详情

相关推荐

卷积神经网络-猫狗识别(附源码)

利用python实现一个卷积神经网络,训练猫狗数据集,实现对猫狗图片的预测识别

m0_63223213的博客 2万+

java Statement详细用法

yaomenglan69的专栏 585

FT2232HL JTAG下载器硬件设计指南:从引脚配置到电平转换实战

本文详细解析了FT2232HL JTAG下载器的硬件设计要点,包括引脚配置、电平转换电路设计及EEPROM配置技巧。通过实战案例展示如何利用FT2232HL实现高速JTAG通信,解决电平不匹配等常见问题,提升嵌入式开发效率。特别适合需要灵活JTAG接口的硬件工程师参考。

weixin_29194693的博客 257

java 的Statement 对象

Statement本概述是从《JDBCTM Database Access from JavaTM: A Tutorial and Annotated Reference 》这本书中摘引来的。JavaSoft 目前正在准备这本书。这是一本教程,同时也是 JDBC 的重要参考手册,它将作为 Java 系列的组成部份在 1997 年春季由 Addison-Wesley 出版公司出版。 4.1 概述St

qsd007的专栏 1818

Costas环参数调优指南:QPSK载波同步中的环路滤波器设计技巧

本文深入解析QPSK载波同步中Costas环的参数调优,特别是环路滤波器的设计技巧。通过分析星座图异常现象,提供从理论计算到MATLAB仿真的实战调优指南,涵盖环路带宽、阻尼系数等关键参数在不同信噪比场景下的选择策略,旨在解决载波同步失锁、性能下降等工程难题。

weixin_29035147的博客 546

正交试验实战指南:从PICT工具到混合水平表应用

本文详细介绍了正交试验法在测试设计中的实战应用,从基础概念到PICT工具的高级使用技巧。通过混合水平表设计和工程化实践案例,帮助测试工程师高效解决参数组合爆炸问题,提升测试覆盖率与效率。特别适合兼容性测试和复杂系统验证场景。

weixin_29230865的博客 260

Statement对象详解

Jdbc中的statement对象用于向数据库发送SQL语句。要完成对数据库的增删改查,只需要通过这个对象向数据库发送增删改查语句即可。Statement对象的executeUpdate方法,用于向数据库发送增、删、改的sql语句,excuteUpdate执行完后,将会返回一个整数(即增删改语句导致了数据库几行数据发生了变化)。Statement.executeQuery方法用于向数据库发生查询语句,executeQuery方法返回代表查询结果的ResultSet对象。CRUD操作–create。

weixin_46377946的博客 2217

3.嵌入式控制器EC学习,源码框架(60/64端口)(一)

服务函数剖析 上一篇讲到while循环会一直查询十六个标志位是否满足要求,一旦其中某个标志位为1时,程序将会执行相应的服务函数,而执行服务函数是通过函数指针(service_table[ _R1 ])();来实现的。接下来我们分别来看看这十六个服务函数分别包含了哪些内容。 16个函数的函数名如下: const FUNCT_PTR_V_V code service_table[16] = { // Hi-Level Service Service_PCI, // Host 6

qq_30135687的博客 4160

Statement数据库操作接口

1、创建 Statement 对象: 建立了到特定数据库的连接之后,就可用该连接发送 SQL 语句。Statement 对象用 Connection 的方法createStatement 创建,如下列代码段中所示 package JDBC;//导入包 import com.mysql.cj.protocol.Resultset; import javax.xml.transform.Result; import java.sql.Connection; import java.sql.DriverMana

liangyuanhao46的博客 2646

8、使用 TPCx - HCI 基准测试表征 HCI 集群的性能和弹性

本文详细介绍了 TPCx - HCI 基准测试,用于衡量超融合基础设施(HCI)集群的性能、稳定性和扩展性。TPCx - HCI 扩展了 TPCx - V 的理念,通过 Tile 架构和弹性特性,全面评估硬件、虚拟化、存储和网络组件的表现。文章还通过多个实验场景分析了负载均衡、数据布局和重新同步策略对性能的影响,并提出了部署和优化 HCI 集群的建议。

sun99的博客 179

【WRF-Chem工具】pyVPRM 计算大气与陆地植被之间的 CO₂ 交换通量

pyVPRM 计算大气与陆地植被之间的 CO₂ 交换通量

WW、forever的博客 210

java中statement对象的作用_java中Statement 对象

1、创建Statement对象建立了到特定数据库的连接之后,就可用该连接发送 SQL 语句。Statement对象用 Connection 的方法 createStatement 创建,如下列代码段中所示:Connection con = DriverManager.getConnection(url, "sunny", "");Statement stmt = con.createStatem...

weixin_42412524的博客 3002

【Claude Code 源码解析教程】总体大纲

本教程旨在深入解析 Anthropic Claude Code 项目的源码架构和实现细节。Claude Code 是一个基于 TypeScript + Bun 构建的 AI 编程助手 CLI 工具,代号 "Tengu",具有复杂的多模块架构和丰富的功能特性。本教程基于Claude Code 的源码分析来生成,将帮助您全面掌握 Claude Code 的源码架构和实现细节,为开发类似 AI 编程助手工具奠定坚实基础。

rengang66的博客 387

MySQL与Java基础部分学习体会

学习体会  从合并新班到现在已经有三星期了,在这三个星期里陆老师教授了MySQL和Java基础部分的知识,下面我对自己这三个星期的学习做以下总结。首先是MySQL部分的学习:   在这之前,崔老师已经带着我们学过一遍了,所以这次跟着陆老师再学一遍基本上都能跟得上,也算是对之前所学的复习巩固吧。这次的再次学习我认为对我本人来说是很有意义很有帮助的,比如说在之前的学习中,崔老师也有讲过一对一,一对多,

liuxiaowei_java96的博客 641

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

MySQL_Java学习心得

不知不觉 时间就这么过去了 转眼间合班已是过去式了 这段时间陆老师给我们讲解了MySQL和Java的部分知识 让我对这些知识有了新的认识 同学们也有原来的14变为28 变成了一个大家庭 很庆幸可以和他们一起共同进步 文笔很烂的我 下面就对自己近期的情况和想法做一个阐述 陆老师和崔老师上课的模式有些不一样的 更加注重学生的自我学习能力的挖掘 知识点从来都是挑重点中的重点来讲的 也就是说 上课的知识必

gyqlaozide的博客 624

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Java学习--MySQL

MySQL

m0_69695971的博客 858

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

java的mysql教程_java 学习之联接 mysql

java 学习之连接 mysql 首先要将 mysql-connector-java-5.1.10-bin.ja加入系统java工程文件中 下载地址http://download.youkuaiyun.com/detail/u014112584/7359185 Mysql-----右击选择Properties属性---------------Add External JARS 测试例子 import java...

weixin_30301989的博客 133

基于Java+MySQL+SSM云端学习系统的设计与实现

互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对课程学习信息管理混乱,出错率高,信息安全性差,劳动强度大,费时费力等问题,采用云端学习系统可以有效管理,使信息管理能够更加科学和规范。云端学习系统在Eclipse环境中,使用Java语言进行编码,使用Mysql创建数据表保存本系统产生的数据。系统可以提供信息显示和相应服务,其管理员管理课程,学习课件,学习视频以及论坛信息。开发环境SSM项目。

Zsffbb211 905

基于Java+MySQL+SpringBoot智能学习平台系统设计与实现

随着信息技术的迅猛发展和教育模式的不断创新,传统的教育方式面临着诸多挑战。传统学习模式受限于物理空间、时间、教学资源等因素,难以满足学生日益增长的个性化、多样化学习需求。而在线学习平台作为现代教育领域的重要组成部分,逐渐展现出其巨大的潜力和优势。通过利用现代信息技术手段,智能学习平台系统能够打破时空限制,提供更加灵活、便捷的学习方式,为提升教育质量和效率提供了新的解决方案。具体来说,传统学习模式存在以下局限性,学生必须在特定时间和地点进行学习和实验,缺乏灵活性。

Zsffbb211 843

最全MySQL基础学习手册(3),【2024Java最新学习路线

由于细节内容实在太多了,为了不影响文章的观赏性,只截出了一部分知识点大致的介绍一下,每个小节点里面都有更细化的内容!小编准备了一份Java进阶学习路线图(Xmind)以及来年金三银四必备的一份《Java面试必备指南》本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录需要这份系统化的资料的朋友,可以点击这里获取#使用modify命令修改字段和字段类型。

2401_83977689的博客 1140

MYSQL学习--Java学习之数据库

/* CREATE TABLE student3 ( id int, – 编号 name varchar(20), – 姓名 age int, – 年龄 sex varchar(5), – 性别 address varchar(100), – 地址 math int , – 数学 english int – 英语 ); –ALTER TABLE student3 ADD math INT; ...

huiyingai的博客 409

Java进阶 谈谈MySQL数据库的学习思路

文章目录Java进阶 谈谈MySQL数据库的学习思路1. 能够理解数据库的概念2. 能够安装与卸载 MySQL 数据库3. 能够启动,关闭及登录 MySQL4. 能够使用 SQL 语句操作数据库5. 能够使用 SQL 语句操作表结构6. 能够使用 SQL 语句进行数据的添加修改和删除的操作7. 能够使用 SQL 语句进行数据的简单查询操作 Java进阶 谈谈MySQL数据库的学习思路 1. 能够理解数据库的概念 网上一找就能找到一大片关于概念的知识,这里就不多作介绍了,今天主要给大家说说常见的数据库种类和M

liulei952413829的博客 327

Java学习汇总 - MySql

快照读:读取的是当前数据的可见版本,可能是会过期数据不加锁的 select 就是快照 当前读取的是数据的最新版本并且当前读返回的记录都会上锁,保证其他事务不会并发修改这条记录如update、insert、delete、select for undate(排他锁)、select lockin share mode(共享锁) 都是当前读。

IT_1024_的博客 574

基于Java+SSM+MySQL的在线学习系统的设计与实现

计算机网络发展到现在已经好几十年了,在理论上面已经有了很丰富的基础,并且在现实生活中也到处都在使用,可以说,经过几十年的发展,互联网技术已经把地域信息的隔阂给消除了,让整个世界都可以即时通话和联系,极大的方便了人们的生活。所以说,在线学习系统用计算机技术来进行设计,不仅在管理方面更加的系统化,操作性强,最重要的是关于数据的保存和使用都能节约大量的时间,该系统非常的好用。在线学习系统管理数据的工具是MySQL,编码的语言是Java,运用的框架是SSM框架。

weixin_52721608的博客 784

java———MySQL 学习

1.初识MySQL 1.1数据库分类 ​ 关系数据库:(SQL) MySQL,Oracle,Sql Server,DB2,SQLlite 通过表和表之间,行和列之间的关系进行数据存储 非关系型数据库:(NoSQL) Not Only Redis,MongDB 非关系型数据库,对象存储,一个对象的自身的属性来决定 DBMS(数据库管理系统) 数据库的管理软件,科学有效的管理我们的数据。维护和获取数据 MySQL,数据库管理系统 1.2MySQL简介 MySQL是一个关系型数据库管理系统 由

小邹的博客 2396

java项目框架 mysql学习路线

使用Spring Boot + MyBatis + MySQL开发一个完整的CRUD应用,逐步加入缓存(Redis)和消息队列(RabbitMQ)。参与Stack Overflow、GitHub讨论,关注Spring和MySQL的官方博客更新。Java生态中有多种主流框架,适合不同场景的开发需求。在项目中实践慢查询日志分析、连接池配置(如HikariCP)。

xaiotouwan的博客 265
上一篇: HashMap与Hashtable的区别
下一篇: Hive数据导入和导出
AlextoWarson
博客等级 码龄17年 33粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值