package test;

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

public class JDBCCon {

/**
* @param args
* @throws SQLException
*/
public static void main(String[] args) {
// 数据库连接地址,字符编码一般设置UTF-8根据实际情况而定
String url = "jdbc:mysql://127.0.0.1:3306/bdpf?useUnicode=true&characterEncoding=utf-8";
// 创建数据库连接
Connection conn = null;
// 创建一个Statement实例
Statement st = null;
// 结果集
ResultSet rs = null;
// 数据库用户名
final String userName = "root";
// 数据库密码
final String password = "root";
try {
// 加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");
// 根据地址、用户名、密码获取数据库连接
conn = DriverManager.getConnection(url,userName,password);
// 创建以个Statement
st = conn.createStatement();
// 执行查询语句
rs = st.executeQuery("select * from tbl_base_info");
// 获取查询结果数据,循环打印出列名
ResultSetMetaData rmd = rs.getMetaData();
for (int index = 1;index<rmd.getColumnCount()+1;index++) {
System.out.println(rmd.getColumnName(index));
}
} catch (Exception e) {
// TODO Auto-generated catch block

e.printStackTrace();
} finally{
try {
// 如果结果集实例不为空最后要关闭
if(rs!=null){
rs.close();
}
// 如果Statement实例不为空最后要关闭
if(st!=null){
st.close();
}
// 如果数据库连接仍然存在最后要关闭
if(st!=null){
conn.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}

/*知识点扩展:
1.本人是以mysql最为例子写的代码需要引入mysql的jar包

2.String url = "jdbc:mysql://127.0.0.1:3306/bdpf?useUnicode=true&characterEncoding=utf-8";
useUnicode=true 说明要使用Unicode编码,如果要指定characterEncoding 那么useUnicode值必须为true

3.Statement 有三种执行sql语句的方法
executeQuery 、executeUpdate 和 execute
其中executeQuery执行查询语句,返回结果集
executeUpdate,执行INSERT,DELETE,UPDATE等语句,返回值是受影响的行数
execute 用于执行返回多个结果集、多个更新计数或二者组合的 sql语句,方法返回值为boolean
示例:
ResultSet rs = stmt.executeQuery("select * from ...") ;
int rows = stmt.executeUpdate("update tableName ...") ;
boolean flag = stmt.execute(String sql) ;

4.要关闭JDBC对象
结果集
声明
和连接
创建时的顺序为 连接、声明、结果集
关闭时的顺序为 结果集 、声明、连接
关闭的最佳时机应该为finally代码内
以保证在try过程中抛出异常,最后finally内的代码仍能执行,避免连接消耗
*/

JDBC代码示例的更多相关文章

  1. RAC集群数据库连库代码示例(jdbc thin方式,非oci)

    1.RAC集群数据库连库代码示例(jdbc thin方式,非oci):jdbc.driverClassName=oracle.jdbc.driver.OracleDriverjdbc.url=jdbc ...

  2. JDBC + MySQL 示例

    jdbc mysql connection 教程 翻译自:JDBC MySQL Connection Tutorial Java Database Connectivity (JDBC) 是一个基于J ...

  3. 一、JDBC基础示例

    一.简介 JDBC全称叫做Java database connectivity,直译为Java语言的数据库连接.它主要针对于支持结构化查询语言(SQL)的数据源,与Java程序连接并操作数据. JDB ...

  4. 怎样在本地电脑上连接另外一台电脑上的mysql数据?(代码示例)

    基本上有两种方式: 1,使用MYSQL的管理工具,可以远程连接,比如用导航猫系列的,只要知道对方IP,然后就可以自己输入账号密码连接了. 2,使用代码连接. Java代码示例: package com ...

  5. 高级渲染技巧和代码示例 GPU Pro 7

    下载代码示例 移动设备正呈现着像素越来越高,屏幕尺寸越来越小的发展趋势. 由于像素着色的能耗非常大,因此 DPI 的增加以及移动设备固有的功耗受限环境为降低像素着色成本带来了巨大的压力. MSAA 有 ...

  6. Java8-Function使用及Groovy闭包的代码示例

    导航 定位 概述 代码示例 Java-Function Groovy闭包 定位 本文适用于想要了解Java8 Function接口编程及闭包表达式的筒鞋. 概述 在实际开发中,常常遇到使用模板模式的场 ...

  7. [IOS 开发] 懒加载 (延迟加载) 的基本方式,好处,代码示例

    懒加载的好处: 1> 不必将创建对象的代码全部写在viewDidLoad方法中,代码的可读性更强 2> 每个属性的getter方法中分别负责各自的实例化处理,代码彼此之间的独立性强,松耦合 ...

  8. SELECT控件操作的JS代码示例

    SELECT控件操作的JS代码示例 1 检测是否有选中 if(objSelect.selectedIndex > -1) { //说明选中 } else { //说明没有选中 } 2.动态创建s ...

  9. 转:HIBERNATE一些_方法_@注解_代码示例---写的非常好

    HIBERNATE一些_方法_@注解_代码示例操作数据库7步骤 : 1 创建一个SessionFactory对象 2 创建Session对象 3 开启事务Transaction : hibernate ...

随机推荐

  1. Head First 设计模式 --11 代理模式

    代理模式:为另一个对象提供一个替身或占位符以控制对这个对象的访问. 代码: interface Boss { public void meeting(); } class BossImp implem ...

  2. Java中Sting类型对象内容不可改变

    String拥有一个特殊点叫:String对象的内容不可改变!   在调用诸如String对象的replace()等方法时,不是在原Sting对象的基础上改变对象内容,而是创建了一个新的String对 ...

  3. 数字图像处理作业使用OpenCV - 使用笔记

    数字图像处理作业的输入图像全部都是灰度图像,所以汇总一下自己遇到的问题答案. OCV的图像容器是Mat<typename>,可以用imread(filename)读取图像,filename ...

  4. [HTML/HTML5]3 页面结构

    在HTML5之前,主要的容器元素是div元素,但在HTML5中提供了数种其它容器元素供我们使用. 因此,当组织Web页面结构时,首先使用HTML将内容分成多部分,然后在对其使用CSS应用样式和格式. ...

  5. Android开发环境搭建(jdk+eclip+android sdk)

    在开启Android 开发之旅之前,首先要把准备工作做好---搭建开发环境 一.环境搭建: 1.Java JDK 安装 2.Eclipse 安装 3.Android SDK 安装 4.ADT安装 5. ...

  6. php 使用curl模拟登录人人(校内)网

    $login_url = 'http://passport.renren.com/PLogin.do'; $post_fields['email'] = 'XXXX';$post_fields['pa ...

  7. 定位 position: absolute & relative

    [position:absolute] 意思是绝对定位,他默认参照浏览器的左上角,配合TOP.RIGHT.BOTTOM.LEFT(下面简称TRBL)进行定位,有以下属性: 1)如果没有TRBL,以父级 ...

  8. 微信 URL Scheme详细参数

    weixin:// "weixin://dl/stickers""weixin://dl/games""weixin://dl/moments&quo ...

  9. Javascript学习笔记3 Javascript与BOM简介

    什么是BOM BOM是browser object model的缩写,简称浏览器对象模型 BOM提供了独立于内容而与浏览器窗口进行交互的对象 由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象 ...

  10. Windows 10系统更换Windows 7系统磁盘分区注意事项二

    1.在原WIN10系统中将硬盘的GPT分区表格式转换为MBR分区表格式 上一篇关于新机预装WIN10系统更换为WIN7系统中说到需要将硬盘的GPT分区表格式转换为MBR分区表格式,在文章末尾给出的链接 ...