JDBC连接数据库及PreparedStatement详解

直接上代码

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

时间: 2024-11-03 13:20:15

JDBC连接数据库及PreparedStatement详解的相关文章

JDBC日期处理用法详解

JDBC日期处理用法详解,可以作为一个连接JDBC的标准类 package JDBC; import java.sql.Connection; import java.sql.Date; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.DriverManager; import java.sql.Statement; import java.sql.Time; import java.sql.Tim

JDBC 连接MySQL实例详解_Mysql

JDBC连接MySQL JDBC连接MySQL 加载及注册JDBC驱动程序 Class.forName("com.mysql.jdbc.Driver"); Class.forName("com.mysql.jdbc.Driver").newInstance(); JDBC URL 定义驱动程序与数据源之间的连接 标准语法: <protocol(主要通讯协议)>:<subprotocol(次要通讯协议,即驱动程序名称)>:<data so

JDBC连接DB2数据库详解

数据|数据库|详解 From: RichardChoi (Richard in JLUBBS) E-mail: richardchoi@126.com 关于DB2数据库的JDBC连接文章有很多,比较出名的有诸如"JDBC数据库连接大全"和"JSP的DB2连接数据库",虽然都是很详细的资料,也都说解决了前人没有解决的问题,但还是有许多纰漏.我就这两天的经验给大家写一篇关于JDBC连接数据库的文章,以解决一部分人的疑问. 第一, JDBC是JDK的一部分(至少在Java

JDBC环境设置(中文详解)_java

安装Java: 安装J2SE开发工具包5.0(JDK 5.0)下载:Java官方网站. 请确保以下环境变量设置,如下所述: JAVA_HOME: 此环境变量应该指向安装JDK的目录,例如:C:\Program Files\Java\jdk1.5.0CLASSPATH: 此环境变量应已适当的路径设置,如: C:\Program Files\Java\jdk1.5.0_20\jre\libPATH: 此环境变量应指向适当的JRE bin,如: C:\Program Files\Java\jre1.5

python使用mysqldb连接数据库操作方法示例详解_python

复制代码 代码如下: # -*- coding: utf-8 -*-     #mysqldb    import time, MySQLdb    #连接    conn=MySQLdb.connect(host="localhost",user="root",passwd="",db="test",charset="utf8")  cursor = conn.cursor()    #写入    sql

详解Java的JDBC中Statement与PreparedStatement对象_java

一旦获得一个连接,我们可以与数据库进行交互.在JDBC Statement, CallableStatement 和 PreparedStatement 接口定义的方法和属性,使可以发送SQL或PL/SQL命令和从数据库接收数据. 它们还定义方法,帮助Java和数据库使用SQL数据类型之间转换数据的差异. 下表提供了每个接口的用途概要,了解决定使用哪个接口 Statement 对象: 创建Statement对象在可以使用Statement对象执行SQL语句,需要使用Connection对象的cr

JDBC数据库连接过程及驱动加载与设计模式详解_java

首先要导入JDBC的jar包: 接下来,代码: Class.forName(xxx.xx.xx)返回的是一个类 Class.forName(xxx.xx.xx)的作用是要求JVM查找并加载指定的类,也就是说JVM会执行该类的静态代码段. JDBC连接数据库 • 创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的静态方法forName(String

详解Java的JDBC API的存储过程与SQL转义语法的使用_java

正如一个Connection对象创建Statement和PreparedStatement对象,它也创造了CallableStatement对象这将被用来执行调用数据库存储过程. 创建CallableStatement对象:假设,需要执行以下Oracle存储过程: CREATE OR REPLACE PROCEDURE getEmpName (EMP_ID IN NUMBER, EMP_FIRST OUT VARCHAR) AS BEGIN SELECT first INTO EMP_FIRST

详解Spring连接数据库的几种常用的方式_java

本文简单的讲解使用Spring连接数据库的几种常用方法: 测试主类为: package myspring2; import java.sql.*; import javax.sql.DataSource; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class MySp