JDBC数据库操作
JDBC:
创建SQL语句对象 Statement statement = (Statement) con.createStatement() ;
调用执行 statement.executeUpdate(sqlString);
释放资源 statement.close();
一 : 创建表的操作代码:
package JDBC; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException; import com.mysql.jdbc.Statement; public class Demo {
// 数据库地址
private static String dbUrl="jdbc:mysql://localhost:3306/JavaJDBC";
// 用户名
private static String dbUserName="root";
// 密码
private static String dbPassword="root";
// 驱动名称
private static String jdbcName="com.mysql.jdbc.Driver"; public static void main(String[] args) {
try {
Class.forName(jdbcName);
System.out.println("加载驱动成功!");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("加载驱动失败!");
}
Connection con=null;
try {
// 获取数据库连接
con=DriverManager.getConnection(dbUrl, dbUserName, dbPassword);
System.out.println("获取数据库连接成功!");
System.out.println("进行数据库操作!");
// 创建sql语句
String sqlString = "CREATE TABLE t_student(id BIGINT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20),age INT)";
// 创建语句对象
Statement statement = (Statement) con.createStatement() ;
// 执行sql语句
statement.executeUpdate(sqlString);
statement.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} }


二 : 处理异常和关闭资源(对上部分代码优化)
package JDBC; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException; import com.mysql.jdbc.Statement; public class Demo {
// 数据库地址
private static String dbUrl="jdbc:mysql://localhost:3306/JavaJDBC";
// 用户名
private static String dbUserName="root";
// 密码
private static String dbPassword="root"; public static void main(String[] args) {
Connection con=null;
Statement statement = null ;
try {
// 获取数据库连接
con=DriverManager.getConnection(dbUrl, dbUserName, dbPassword);
System.out.println("获取数据库连接成功!");
System.out.println("进行数据库操作!");
// 创建sql语句
String sqlString = "CREATE TABLE t_student(id BIGINT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20),age INT)";
// 创建语句对象
statement = (Statement) con.createStatement() ;
// 执行sql语句
statement.executeUpdate(sqlString);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
con.close();
statement.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} }
三 : DML操作
操作与上述常见表相同,只需修改SQL语句
四 : 查询操作

package JDBC; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException; import com.mysql.jdbc.ResultSet;
import com.mysql.jdbc.Statement; public class Demo {
// 数据库地址
private static String dbUrl="jdbc:mysql://localhost:3306/JavaJDBC";
// 用户名
private static String dbUserName="root";
// 密码
private static String dbPassword="root"; public static void main(String[] args) throws ClassNotFoundException {
Class.forName("com.mysql.jdbc.Driver") ;
Connection con=null;
Statement statement = null ;
try {
// 获取数据库连接
con=DriverManager.getConnection(dbUrl, dbUserName, dbPassword);
System.out.println("获取数据库连接成功!");
System.out.println("进行数据库操作!");
// 创建sql语句
String sqlString = "select * from t_student";
// 创建语句对象
statement = (Statement) con.createStatement() ;
// 执行sql语句
ResultSet resultSet = (ResultSet) statement.executeQuery(sqlString);
// 取出查询结果
while(resultSet.next()){
long id = resultSet.getLong("id") ;
String nameString = resultSet.getString("name") ;
long age = resultSet.getLong("age") ;
System.out.println(id + " " + nameString + " " + age);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
con.close();
statement.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} }
核心代码:
// 执行sql语句
ResultSet resultSet = (ResultSet) statement.executeQuery(sqlString);
// 取出查询结果
while(resultSet.next()){
long id = resultSet.getLong("id") ;
String nameString = resultSet.getString("name") ;
long age = resultSet.getLong("age") ;
System.out.println(id + " " + nameString + " " + age);
}
解释: executeQuery返回一个ResultSet,是对应的表,开始指向第一行,也就是每一列的名称,此处为id,name,age,然后通过next()将光标下移,通过getLong(String 列名称)取出 或 getLong(Long 列号)取出(从1开始).
JDBC数据库操作的更多相关文章
- JDBC:数据库操作:事务
事务特征:原子性,一致性,独立性,持久性. 要想操作事务,必须按照以下步骤完成. 1,取消掉自动提交(SET AUTOCOMMIT=0):每次执行数据库更新的时候实际上发出SQL命令之后就已经提交上去 ...
- [总结] JDBC数据库操作
1.加载驱动--告诉驱动管理将使用哪一个数据库的驱动包. class.forName("com.mysql.jdbc.Driver"); 2.操作JDBC ADI完成数据库动作 D ...
- java jdbc数据库操作
package shb.java.demo3; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQ ...
- JDBC:数据库操作:BLOB数据处理
CLOB主要保存海量文字,而BLOB是专门保存二进制数据:包括,图片,音乐,影片.等. 在MYSQL中,BLOB类型使用LONGBLOB声明,最高可存储4G内容. 创建一个表: create tabl ...
- JDBC:数据库操作:处理大对象CLOB数据
目标: 了解大对象处理基本原理, 掌握CLOB数据的读,写操作. 可以使用CLOB类处理大文本数据. 大对象处理主要指CLOB和BLOB两种类型字段.可以大量存储文字. 要想在程序中处理这样的大数据操 ...
- 使用JdbcTemplate简化JDBC操作 实现数据库操作
使用Spring JDBC框架方遍简单的完成JDBC操作,满足性能的需求且灵活性高. Spring JDBC框架由4个部分组成,即core.datasource.object.support. org ...
- [数据库操作]Java中的JDBC的使用方法.
前言:想必大家在实际编码中都遇到过JDBC的操作, 这里仅做自己的一个总结, 有错误和不完整之处还请大家提出来. 1,JDBC其实一套规范(接口)数据库厂商需要实现此接口(实现类)--数据库驱动 2, ...
- JAVA采用JDBC连接操作数据库详解
JDBC连接数据库概述 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供 ...
- Java通过JDBC 进行MySQL数据库操作
转自: http://blog.csdn.net/tobetheender/article/details/52772157 Java通过JDBC 进行MySQL数据库操作 原创 2016年10月10 ...
随机推荐
- python3 第三章 - 程序的基本结构
1.编码 默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串. 当然你也可以为源码文件指定不同的编码: # -*- coding: cp-1252 -* ...
- JavaScript 教程:对象
JavaScript 对象是拥有属性和方法的数据.学过编程语言的都知道,此处不再详述! 1.对象的定义: <script> </script> 对象也可以先创建,再添加属性和属 ...
- 用Python实现几种排序算法
#coding=utf-8 # 1 快速排序算法 def qksort(list): if len(list)<=1: return list else: pivot = list[0] les ...
- Linux指令--chmod
chmod命令用于改变linux系统文件或目录的访问权限.用它控制文件或目录的访问权限.该命令有两种用法.一种是包含字母和操作符表达式的文字设定法:另一种是包含数字的数字设定法. Linux系统中的每 ...
- android 软键盘的使用
AndroidManifest.xml文件中界面对应的<activity>里加入android:windowSoftInputMode="adjustPan" 键盘 ...
- awk中引用shell变量执行替换的脚本
遇到问题: 现在有两个脚本,我想 将file1中的内容按file2来匹配 [root@154 home]# cat file1 3-1-1 POTV=1,POTA=0,POTP=2 1-4-76 PO ...
- TCP/IP参考模型
1.简介 什么是TCP/IP参考模型? TCP/IP模型是网络通信模型的一种.网络通信模型还包括OSI,旨在使各种计算机在世界范围内互连为网络.其中有OSI为七层模型.TCP/IP为四层模型,现在大部 ...
- 基于 HTML5 Canvas 绘制的电信网络拓扑图
电信网结构(telecommunication network structure)是指电信网各种网路单元按技术要求和经济原则进行组合配置的组合逻辑和配置形式.组合逻辑描述网路功能的体系结构,配置形式 ...
- 主备(keepalived+haproxy)
系统:centos6.9 mini 主机名 ip 虚拟ip kh1 192.168.126.210 kh2 192. ...
- BZOJ 3105: [cqoi2013]新Nim游戏 [高斯消元XOR 线性基]
以后我也要用传送门! 题意:一些数,选择一个权值最大的异或和不为0的集合 终于有点明白线性基是什么了...等会再整理 求一个权值最大的线性无关子集 线性无关子集满足拟阵的性质,贪心选择权值最大的,用高 ...