当前位置: 首页 > news >正文

jdbc基础(连接篇)

JDBC 是 Java 访问数据库的标准接口,本质是用一套统一代码,连接 MySQL、Oracle 等不同数据库,避免重复开发。

程序员无需学习基础语法,只需换数据库驱动,就能连接不同数据库。这得益于jdbc的统一接口格式。

好,这里我用的是Maven加载jdbc的依赖,并使用5.1.6稳定版本:

        <!--导入mySql驱动包--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.6</version></dependency>
连接数据库方式一:

1.首先注册mlySQL的驱动类:

Driver driver = new Driver();

2.得到连接的url:(语法:[主机名]:[端口号] / [数据库名],这里端口号默认是3306为MySQl的端口号)

String url = "jdbc:mysql://localhost:3306/newtest2";

3.创建Properties对象并将用户名和密码放进Properties对象里,并使用Connection建立连接(连接的本质是socket,Connection是在建立在socket上的包装类):

//        将用户名和密码放入Properties对象里Properties properties = new Properties();properties.setProperty("user","root");properties.setProperty("password","123456");Connection connection = driver.connect(url,properties);
//        connection表示一个网络连接

4.通过连接获取statement,statement里可以填写SQL语句。statement就好像UDP编程里从连接里获取的包可以传递信息,不过这里传的是SQL语句。

//        statement用于执行静态SQL语句并返回生成的结果对象Statement statement = connection.createStatement();

5.创建SQL语句并使用executeUpdate方法执行Update的SQL语句并返回受影响的行数:


//        id设为了自增主键
String sql = "insert into account values(null,'xiaomin',1213)"
//        insert方法返回受影响的行数
int result = statement.executeUpdate(sql);

6.最后,关闭连接:

//        关闭连接资源statement.close();connection.close();
连接数据库方法二:

方法二是在方法一的基础上通过反射注册驱动并获取Driver的实例对象:

//        使用反射加载Driver类Class class1 = Class.forName("com.mysql.jdbc.Driver");
//        获取到类的实例对象Driver driver = (Driver)class1.newInstance();

其余与法一无异。

连接数据库方法三(最常用):

1.自动注册驱动:

        Class class0 = Class.forName("com.mysql.jdbc.Driver");
//        自动注册驱动

2.使用DriverManger的getConnection方法创建连接:

        String url="jdbc:mysql://localhost:3306/newtest2";String user = "root";String password = "123456";
//      直接创建连接Connection connection = DriverManager.getConnection(url,user,password);

3.从connection中获取Statement并执行SQL语句,其中execuQuery方法是专门用来执行查找SQL的方法:

        String sql = "select * from account";Statement statement = connection.createStatement();ResultSet set = statement.executeQuery(sql);

ResultSet类:

ResultSet类是java内置类,使用前需要通过import java.sql.ResultSet引入。

ResultSet类是最常用来接收SQL查询语句的Set类,其中主要包括以下方法:

1.next()方法返回boolean类型变量,每次执行时都会使索引移到下一行,如果没有下一行时返回false。

2.getInt()方法返回int类型变量,有两个重载:

一个填入int类型变量,一个填入String类型变量。int类型变量表示索引的字段列数,String表示获取指定的字符串(对应数据库中字段)的数据。

3.getString()方法同理,是获取String类型字段的方法。

4.close()方法关闭连接。

4.循环遍历输出(假设数据库中的字段有int类型的id和String类型的name):

        while(set.next()){System.out.println(set.getInt("id")+set.getString("name"));
//            方法一:getInt("id")通过字段名获取
//            方法二:通过索引获取getInt(1)对应列的数据}

5.关闭连接:

//        关闭set.close();statement.close();connection.close();

http://www.dtcms.com/a/588895.html

相关文章:

  • 免费云服务器网站有哪些为什么手机进网站乱码
  • 从入门到精通 LlamaIndex RAG 应用开发
  • 算法基础篇:(五)基础算法之差分——以“空间”换“时间”
  • 潍坊中企动力做的网站怎么样wordpress显示摘要
  • leetcode1771.由子序列构造的最长回文串长度
  • 【JUnit实战3_31】第十九章:基于 JUnit 5 + Hibernate + Spring 的数据库单元测试
  • 双11释放新增量,淘宝闪购激活近场潜力
  • MySQL快速入门——内置函数
  • 中小网站建设都有哪些网易企业邮箱申请
  • 预测电流控制在光伏逆变器中的低延迟实现:华为FPGA加速方案与并网稳定性验证
  • C语言--文件读写函数的使用
  • 网站的网站维护的原因可以做公众号的网站
  • 使用waitpid回收多个子进程
  • leetcode1547.切棍子的最小成本
  • ThinkPHP8学习篇(十一):模型关联(一)
  • 深入理解Ribbon的架构原理
  • 力扣(LeetCode)100题:3.无重复字符的最长子串
  • 前端接口安全与性能优化实战
  • ssh网站怎么做wordpress搬家_后台错乱
  • LangChain V1.0 Messages 详细指南
  • 网站商城微信支付接口申请软件开发人工收费标准
  • 代码生成与开发辅助
  • claude code访问本地部署的MCP服务
  • 学习笔记8
  • Vue编程式路由导航
  • android contentprovider及其查看
  • 根据网站做软件免费网站app下载
  • Rust 练习册 :解开两桶谜题的奥秘
  • 2025.11.03作业 WEB服务
  • Electron 应用中的系统检测方案对比