JDBC连接数据库及PreparedStatement详解

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 直接上代码package jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;public class MyTest {    public static void main(Strin


直接上代码

package jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class MyTest {
    public static void main(String args[]) {
        Connection con = null;
        try {
            // 注册JDBC驱动,JAVA1.5以后 JDBC自动加载驱动了  所以这句代码可以省略;
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            
            // 提供地址用户名密码并获得连接对象
            con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test","root", "");
       
            if (!con.isClosed())
                // 连接成功提示
                System.out.println("Successfully connected to MySQL server using TCP/IP...");
            // 有Connection对象创建PreparedStatement
            PreparedStatement ps= con.prepareStatement("select * from orderitem o where o.itemid >?");
            // 设置参数,参数索引位置是从1开始(Hibernate参数索引位置是从0开始)
            ps.setInt(1, 10);//过滤itemid大于10的记录
            ResultSet rs = ps.executeQuery();
            // 循环读取结果集的每一行的每一列
            while (rs.next()) {
                // 打印数据
                System.out.print(rs.getString("itemid")+";");
                System.out.print(rs.getString("count")+";");
                System.out.print(rs.getString("subtotal")+";");
                System.out.print(rs.getString("pid")+";");
                System.out.println(rs.getString("oid")+";");
            }
            // 关闭
            con.close();
            ps.close();
        } catch(Exception e) {
            System.err.println("Exception: " + e.getMessage());
        }
    }
}


ResultSet. getMetaData() 获得代表ResultSet对象元数据的ResultSetMetaData对象。

/**
    * @Method: testParameterMetaData
    * @Description: 获取参数元信息
    * @Anthor:孤傲苍狼
    *
    * @throws SQLException
    */ 
    @Test
    public void testParameterMetaData() throws SQLException {
        Connection conn = JdbcUtils.getConnection();
        String sql = "select * from user wherer name=? and password=?";
        //将SQL预编译一下
        PreparedStatement st = conn.prepareStatement(sql);
        ParameterMetaData pm = st.getParameterMetaData();
        //getParameterCount() 获得指定参数的个数
        System.out.println(pm.getParameterCount());
        //getParameterType(int param):获得指定参数的sql类型,MySQL数据库驱动不支持
        System.out.println(pm.getParameterType(1));
        JdbcUtils.release(conn, null, null);
    }

参考文章:


Statement

http://be-evil.org/post-144.html


深入 理解 Statement 和 PreparedStatement

http://blog.csdn.net/xiaoxian8023/article/details/9154063

 


 

本文出自 “点滴积累” 博客,请务必保留此出处http://tianxingzhe.blog.51cto.com/3390077/1690745

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
安全 Java 数据库连接
gbase8a JDBC常用特性-Kerberos认证方式连接
JDBC常用特性-Kerberos认证方式连接
|
1月前
|
Java 数据库连接 网络安全
JDBC常用特性-SSH隧道连接
JDBC常用特性-SSH隧道连接
|
3月前
|
SQL 开发框架 .NET
ASP.NET连接SQL数据库:详细步骤与最佳实践指南ali01n.xinmi1009fan.com
随着Web开发技术的不断进步,ASP.NET已成为一种非常流行的Web应用程序开发框架。在ASP.NET项目中,我们经常需要与数据库进行交互,特别是SQL数据库。本文将详细介绍如何在ASP.NET项目中连接SQL数据库,并提供最佳实践指南以确保开发过程的稳定性和效率。一、准备工作在开始之前,请确保您
344 3
|
2月前
|
关系型数据库 MySQL 数据库连接
python脚本:连接数据库,检查直播流是否可用
【10月更文挑战第13天】本脚本使用 `mysql-connector-python` 连接MySQL数据库,检查 `live_streams` 表中每个直播流URL的可用性。通过 `requests` 库发送HTTP请求,输出每个URL的检查结果。需安装 `mysql-connector-python` 和 `requests` 库,并配置数据库连接参数。
139 68
|
23天前
|
SQL Java 数据库连接
JDBC编程安装———通过代码操控数据库
本文,教你从0开始学习JBCD,包括驱动包的下载安装调试设置,以及java是如何通过JBDC实现对数据库的操作,以及代码的分析,超级详细
|
2月前
|
数据库 C# 开发者
ADO.NET连接到南大通用GBase 8s数据库
ADO.NET连接到南大通用GBase 8s数据库
|
2月前
|
数据库连接 Linux Shell
Linux下ODBC与 南大通用GBase 8s数据库的无缝连接配置指南
本文详细介绍在Linux系统下配置GBase 8s数据库ODBC的过程,涵盖环境变量设置、ODBC配置文件编辑及连接测试等步骤。首先配置数据库环境变量如GBASEDBTDIR、PATH等,接着修改odbcinst.ini和odbc.ini文件,指定驱动路径、数据库名称等信息,最后通过catalog.c工具或isql命令验证ODBC连接是否成功。
|
2月前
|
SQL Java 数据库连接
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率。本文介绍了连接池的工作原理、优势及实现方法,并提供了HikariCP的示例代码。
67 3
|
3月前
|
关系型数据库 MySQL 数据库连接
DBeaver如何连接一个数据库
【10月更文挑战第27天】DBeaver 是一款功能强大的通用数据库管理工具,支持多种主流数据库。本文介绍了使用 DBeaver 连接数据库的基本步骤,包括下载安装、创建新连接、选择数据库类型、配置连接参数、测试连接以及最终连接到数据库。详细的操作指南帮助用户轻松管理和操作数据库。
701 9
|
2月前
|
JSON JavaScript 关系型数据库
node.js连接GBase 8a 数据库 并进行查询代码示例
node.js连接GBase 8a 数据库 并进行查询代码示例