JDBC浅析
今天简单的说一下jdbc,本来这玩意儿也很简单。
大家只需要记住其中的几个重要的类就行了,它们都在sql包里。今天主要是拿mysql来连接。先看一下主要的几个类吧。
1.Conenction
2.Statement
3.ResultSet
废话不多说我直接上代码了,因为实在很简单
import java.sql.*;
//Java DataBase Connectivity
public class Main {
public static void main(String[] args) {
}
}
class Init{
//用于连接的账号和密码
private String user;
private String passw;
private String protocol;
//收集statement connenction resultset的对象方便清理
private Statement statement = null;
private Connection connection = null;
private ResultSet resultset = null;
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getPassw() {
return passw;
}
public void setPassw(String passw) {
this.passw = passw;
}
public String getProtocol() {
return protocol;
}
public void setProtocol(String protocol) {
this.protocol = protocol;
}
//返回一个connection引用的方法
public Connection getConnection() throws ClassNotFoundException{
//利用反射动态加载Driver
Class.forName("com.mysql.jdbc.Driver");
//返回一个Connection对象
Connection connection = null;
try {
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/student",user,passw);
} catch (SQLException e) {
//捕获打印异常栈
e.printStackTrace();
}
return connection;
}
//返回一个Statement的对象
public Statement getStatement(){
Statement statement = null;
try {
statement = getConnection().createStatement();
} catch (ClassNotFoundException | SQLException e) {
//捕获打印异常栈
e.printStackTrace();
}
return statement;
}
//对表进行增加数据的操作
public void IDU(String s){
//statement 被调用返回给字段statement
if(statement == null){
statement = getStatement();
}
try {
statement.executeUpdate(s);
} catch (SQLException e) {
e.printStackTrace();
}
finally{
clear();
}
}
//表的查询
public void queryData(String s){
if(statement == null){
statement = getStatement();
}
try {
resultset = statement.executeQuery(s);
ResultSetMetaData rsmd = resultset.getMetaData();
//获取字段长度
int count = rsmd.getColumnCount();
//遍历数据
while(resultset.next()){
for(int i = 1;i<= count;i++){
System.out.println(resultset.getObject(i));
}
}
} catch (SQLException e) {
//打印异常栈
e.printStackTrace();
}
finally{
clear();
}
}
//对各个占用资源的类进行清理
public void clear(){
try{
if(statement != null){
statement.close();
}
if(connection != null){
connection.close();
}
if(resultset != null){
resultset.close();
}
}
catch(Exception e){
e.printStackTrace();
}
}
}
相信大家都能看懂,哪里不懂或者是哪里有错误请在回复区指出。
JDBC浅析的更多相关文章
- JDBC设计理念浅析 JDBC简介(一)
概念 JDBC是J2EE的标准规范之一,J2EE就是为了规范JAVA解决企业级应用开发制定的一系列规范,JDBC也不例外. JDBC是用于Java编程语言和数据库之间的数据库无关连接的标准Java A ...
- JDBC API浅析
使用java开发数据库应用程序一般都需要用到四个接口:Driver.Connection.Statement.ResultSet 1.Driver接口用于加载驱动程序 2.Connection接口用于 ...
- 浅析jdbc建立连接方式与背后的java类加载
关于jdbc的连接方式#1Connection conn;Class.forName("com.mysql.jdbc.Driver"); //2conn=DriverManager ...
- 转载:JMS-ActiveMQ浅析
ActiveMQ 即时通讯服务 浅析 一. 概述与介绍 ActiveMQ 是Apache出品,最流行的.功能强大的即时通讯和集成模式的开源服务器.ActiveMQ 是一个完全支持JMS1.1和J2EE ...
- 浅析Quartz的集群配置
浅析Quartz的集群配置(一) 收藏人:Rozdy 2015-01-13 | 阅:1 转:22 | 来源 | 分享 1 基本信息 摘要:Quar ...
- Mybatis配置信息浅析 MyBatis简介(二)
官方文档入门篇中有明确说明 每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为中心的. SqlSessionFactory 的实例可以通过 SqlSessionF ...
- Mybatis sql映射文件浅析 Mybatis简介(三)
简介 除了配置相关之外,另一个核心就是SQL映射,MyBatis 的真正强大也在于它的映射语句. Mybatis创建了一套规则以XML为载体映射SQL 之前提到过,各项配置信息将Mybatis应用的整 ...
- Mybatis sql映射文件浅析 Mybatis简介(三) 简介
Mybatis sql映射文件浅析 Mybatis简介(三) 简介 除了配置相关之外,另一个核心就是SQL映射,MyBatis 的真正强大也在于它的映射语句. Mybatis创建了一套规则以XML ...
- 从底层源码浅析Mybatis的SqlSessionFactory初始化过程
目录 搭建源码环境 POM依赖 测试SQL Mybatis全局配置文件 UserMapper接口 UserMapper配置 User实体 Main方法 快速进入Debug跟踪 源码分析准备 源码分析 ...
随机推荐
- matlab求一个矩阵中各元素出现的个数(归一化)
function [m,n] = stamatrix(a) %网上找到的方法,感觉很巧妙 x=a(:); x=sort(x); d=diff([x;max(x)+1]); count = diff(f ...
- vector基础
//STL基础 //容器 //vector #include "iostream" #include "cstdio" #include "vecto ...
- redis linux下的环境搭建
系统 CentOS7 Redis 官网下载 https://redis.io/download 1.下载解压 [root@TestServer-DFJR programs]# /usr/loca ...
- python实现备份gitlab版本库并更改文件名
脚本的功能是实现备份gitlab版本库,并修改备份后的文件名,成功后发送邮件至相关负责人,脚本如下: #!/usr/bin/env python # -*- coding:utf-8 -*- impo ...
- WPF 添加Adminstrator 权限
在WPF应用开发中,需要WPF操作后台注册的Windows Service,可是WIX打包的安装程序不具备赋予WPF App默认管理员权限. 因此,需要我们手工在WPF项目中添加管理员权限: 1.右击 ...
- Spring MVC 到 Spring Boot 的简化之路(山东数漫江湖)
背景 从Servlet技术到Spring和Spring MVC,开发Web应用变得越来越简捷.但是Spring和Spring MVC的众多配置有时却让人望而却步,相信有过Spring MVC开发经验的 ...
- 微信小程序提示框
一.wx.showToast 如上图所示,showToast会显示一个弹窗,在指定的时间之后消失.中间的图标默认只有加载中和成功两种,也可以用image参数自定义图标 wx.showToast({ t ...
- 【Windows使用笔记】Windows科研软件
1 Anaconda Anaconda指的是一个开源的Python发行版本,其包含了conda.Python等180多个科学包及其依赖项.主要是内置有jupyter notebook和jupyter ...
- centos 安装flash
linux系统中安装flash插件 linux中安装flashplayer插件的简单方法: 1.下载其中最新版本的播放器,下载地址: http://get.adobe.com/cn/flashplay ...
- java多线程以及Android多线程
Java 多线程 线程和进程的区别 线程和进程的本质:由CPU进行调度的并发式执行任务,多个任务被快速轮换执行,使得宏观上具有多个线程或者进程同时执行的效果. 进程:在操作系统来说,一个运行的程序或者 ...