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. nodejs的第四天学习笔记

    一. ECMAScript6(es2015)es6语法 es6/es2015,在es5的基础上扩展了很多新的功能,我们要学习仅仅是es6中的部分常用新功能,这些功能在使用的时候一定要慎重,因为他们之中 ...

  2. oracle 隐藏过长字段

    case                    when length(m.topic)>20 then substr(m.topic,0,20)||'...'                  ...

  3. 冰球项目日志4-yjw

    小组讨论 我们组编程主要分成三个模块,各自负责自己的编程与测试. 杨静梧:确定击球算法编程.输入:冰球位置,速度大小方向:输出:撞击时冰球中心位置. 曹迦勒:确定击球手速度,位置.输入:撞击时冰球中心 ...

  4. error CS0117: `UnityEditor.EditorUtility' does not contain a definition for `GetAssetPreview'

    have to replace: EditorUtility by AssetPreview

  5. centos下安装yaf框架

    安装好php环境之后 安装扩展包 $yum install php-devel /usr/bin/ 就会出现phpize工具包 下载yaf-2.2.8.gz源文件,解压后,进入源文件 phpize [ ...

  6. webpack学习笔记--安装

    1 首先要安装node  Node.js 自带了软件包管理器 npm,Webpack 需要 Node.js v0.6 以上支持 2 npm install webpack -g 通常我们会将 Webp ...

  7. [前端神器]handlebars+require基本使用方法

    最近在某网站看到了handlebars.js,出于好奇就百度了下这是神马玩意,结果让我很是欢喜,于是就开始自学下,handlebars就几个方法,蛮简单,言归正传! 以下是基本教学逻辑演示,会附完整代 ...

  8. Java项目:学生成绩管理系统(二)

    学生成绩管理系统(二):项目介绍 一.设计要求: 1.1 简单的图形界面登录功能. 1.2 对数据库的的信息的查询功能. 1.3 对数据库的的信息的修改功能. 1.4 对数据库的的信息的删除功能. 1 ...

  9. Java8之——简洁优雅的Lambda表达式

    Java8发布之后,Lambda表达式,Stream等等之类的字眼边慢慢出现在我们字眼.就像是Java7出现了之后,大家看到了“钻石语法”,看到了try-with-resource等等.面对这些新东西 ...

  10. Ubuntu 16.04 安装 .NET Core[转]

    upir@upir-Rev-1-0:~$ sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos ...