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跟踪 源码分析准备 源码分析 ...
随机推荐
- WPF 分辨率无关性原理
WPF在计算窗口尺寸大小时使用的是系统的DPI设置.WPF窗口以及窗口中所有的元素都是使用设备无关单位度量.一个设备无关单位被定义为1/96英寸. [物理单位尺寸]=[设备无关单位尺寸]*[系统DPI ...
- CCF-20170901
试题编号: 201709-1 试题名称: 打酱油 时间限制: 1.0s 内存限制: 256.0MB 问题描述 小明带着N元钱去买酱油.酱油10块钱一瓶,商家进行促销,每买3瓶送 ...
- 解决gitlab关闭登录选项问题
1.连接资料库 mysql -uroot -p 2.use gitlabhq_production; 3.进入后,输入下面语句UPDATE application_settings se ...
- NDK---使用,开发步骤
使用NDk的场景: 1.某些方法,是使用C,C++本地代码实现的,然后,我想在Java中调用这些方法.这个时候,就需要使用到JNI技术. 应用NDK的时候,分两个部分,Java部分,JNI层部分,本地 ...
- 51nod 1806 wangyurzee的树
基准时间限制:1 秒 空间限制:131072 KB wangyurzee有n个各不相同的节点,编号从1到n.wangyurzee想在它们之间连n-1条边,从而使它们成为一棵树.可是wangyur ...
- bzoj 2321 数学
首先我们假设两个点(i,j),(i,k)向中间移动一格,且k>j+1,那么我们可以获得的价值为k-j,这样,我们定义每个点的每个星的能量为a[(i,j)]=i*i+j*j,这样这两个点开始的能量 ...
- 灵活使用ARM汇编的WEAK关键字
//=====================================================================//TITLE:// 灵活使用ARM汇编的WEAK关 ...
- hdfs基本思想
1.hdfs的优缺点 (1)不适合大量小文件存储: (2)不适合并发写入,不支持文件随机修改:(只能append追加) (3)不支持随机读等低延时的访问方式 2.基本思想 主从结构 主节点, name ...
- YUV颜色编码解析(转)
原文转自 https://www.jianshu.com/p/a91502c00fb0
- gpio子系统和pinctrl子系统(中)
pinctrl子系统核心实现分析 pinctrl子系统的内容在drivers/pinctrl文件夹下,主要文件有(建议先看看pinctrl内核文档Documentation/pinctrl.txt): ...