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 ...
随机推荐
- Velocity动态拼接字符串
1.在全局定义一个变量: #set($varName = "") 2.拼接字符串病截取字符串: #foreach( $role in $adminUser.roles) #set( ...
- 模态框zeroModal快速引入
最基本快速接入 <%@ page language="java" contentType="text/html; charset=UTF-8" pageE ...
- spring使用@Cache的简单实现
基于xml的配置感觉没有注解形式简单明了,咱不考虑了. 进入正题之前先提个疑问,希望知道的人能告诉一下 下述介绍会有这段代码: @Cacheable(value="myCache" ...
- 转-Determining whether a Computer Needs to be Rebooted
1 如何检查机器是否因为装了Windows更新而需要重新启动 2 Determining whether a Computer Needs to be Rebooted 3 How can I tel ...
- Regular Expression Syntax
python的正则表达式 正则表达式的概念 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个"规则字符串",这个"规 ...
- awk 字符串处理函数
awk提供了许多强大的字符串函数,见下表:awk内置字符串函数gsub(r,s) 在整个$0中用s替代rgsub(r,s,t) 在整个t中用s替代rindex(s,t) 返回s中字符 ...
- Mysql编译安装及优化
采取编译安装的方法,其好处为:编译安装与平台无关,安装的MySQL目录独立,维护起来方便,而且拥有更好的性能. 环境:CentOS release 6.9 (Final) x86_64 1)下载my ...
- React 16.3来了:带着全新的Context API
文章概览 React在版本16.3-alpha里引入了新的Context API,社区一片期待之声.我们先通过简单的例子,看下新的Context API长啥样,然后再简单探讨下新的API的意义. 文中 ...
- AdobeFlashBuilder还不如AdobeFlashProfessional写actionscript体验好
AdobeFlashBuilder还不如AdobeFlashProfessional写actionscript体验好. 这真是奇怪了.
- cdcqの省选膜你赛
cdcqの省选膜你赛 比赛当天因为在杠hnoi2016的大数据结构没有参加,今天补了一下.挺好玩的虽然不看一句话题意的话真的卡读题 此生无悔入东方,来世愿生幻想乡 2651. 新史「新幻想史 -现代史 ...