Java JDBC 数据库链接小结随笔
Java JDBC 数据库链接小结随笔
一、链接数据库的步骤
二、关于Statement 和 PrepareStatement 两者区别 用法
五、一些异常的解释
一、链接数据库的步骤
- 注册驱动
- 获得链接对象
- 创建sql容器
- 执行sql语句
- 查询操作
- 关闭资源:
 package demo1;
 import java.sql.*;
 public class demo1 {
     public static void main(String[] args) {
         try {
             Class.forName("com.mysql.cj.jdbc.Driver");
             String url="jdbc:mysql://127.0.0.1:3306/jdbc?serverTimezone=UTC";
             /*目前手动改变 sql 服务器 时区报错问题*/
             String username="root";
             String password="root";
             /*  com.mysql.cj.jdbc.Driver   */
             Connection con= DriverManager.getConnection(url,username,password);
             System.out.println(con);
             Statement stmt = con.createStatement();
             ResultSet rs = stmt.executeQuery("select * from test");
             while (rs.next()){
                 int id=rs.getInt("id");
                 String name=rs.getString(2);
                 System.out.println("id:"+id+"-"+"name:"+name);
             }
         }
         catch (ClassNotFoundException e){
             e.printStackTrace();
         }
         catch (SQLException e){
             e.printStackTrace();
         }
     }
 }
二、 关于Statement 和 PrepareStatement 两者区别 用法
PrepareStatement 继承自 Statement 接口 拥有Statement 中的方法
execute()
executeQuery()
executeUpdate()
 package demo1;
 import Util.connectionUtil;
 import java.sql.*;
 public class TestDemo {
     /*
     * 1. prepareStatement   Statement 区别
     *
     *   1)prepareStatement继承自 statement
     *           prepareStatement{  execute、 executeQuery 和 executeUpdate 已被更改以使之不再需要参数}
     * 2.   接口用法
     * */
     public static void main(String[] args) {
         //直接使用 Util 包下自定义的 链接数据库方法
             Connection con=connectionUtil.getConnections("jdbc");
             Statement stmt=null;
             PreparedStatement ps=null;
             ResultSet resultSet=null;
             ResultSet rs=null;
             String selectSql="select * from test";
             try {
                 stmt=con.createStatement();
                 resultSet=stmt.executeQuery(selectSql);
             System.out.println("Statement 接口:");
             while (resultSet.next()){
                 int id=resultSet.getInt("id");
                 String name=resultSet.getString("name");
                 System.out.println("id:"+id+"---"+"name:"+name);
             }
             System.out.println("PrepareStatement 接口:");
             /* PrepareStatement */
             ps=con.prepareStatement(selectSql);
             rs=ps.executeQuery();
             while (rs.next()){
                 int id=rs.getInt("id");
                 String name=rs.getString("name");
                 System.out.println("id:"+id+"---"+"name:"+name);
             }
         } catch (SQLException e) {
             e.printStackTrace();
         }
         finally {
             if(con!=null){
                 try {
                     con.close();
                 } catch (SQLException e) {
                     e.printStackTrace();
                 }
             }
         }
     }
 }
基本能用PrepareStatement 就不用 Statement 尽量避开 ‘1’ or "1"="1" 1的情况
也会比 Statement 更灵活
execute() executeQuery() executeUpdate() 这三个方法也不需要用参数 直接调用
例:
PrepareStatement>
String sql="select * from test where id= ?";
PreparedStatement ps=con.prepareStatement(sql);
ps.setInt(1,1) /* ? 相当于 占位符
setInt(index,value); 来给占位符设置值
set数据类型(index,value);*/
----------------------------------------------------------
Statement>stmt=con.createStatement();
resultSet=stmt.executeQuery(selectSql);
三、关于 ResultSet 的一些小结
ResultSet 结果集 接收一个二维的数组集
     关于ResultSet 的一些方法
boolean next() 将光标从当前位置向前移一行。
String getString(int columnIndex) 获取此ResultSet对象的当前行中指定列的值
String getString(String columnLabel) 获取此ResultSet对象的当前行中指定列的值
四、自定义工具类的封装
五、一些异常的解释
上述内容为 自学笔记 可自行参考
Java JDBC 数据库链接小结随笔的更多相关文章
- Java JDBC数据库链接
		好久没有编写有关数据库应用程序啦,这里回顾一下java JDBC. 1.使用Java JDBC操作数据库一般需要6步: (1)建立JDBC桥接器,加载数据库驱动: (2)连接数据库,获得Connect ... 
- java JDBC 数据库链接
		1.准备环境搭建: myeclipse,sql2005,jdbc. 2.都下载完之后开始进行安装 ,前两个是属于数据库软件,正常安装即可(注意数据库登陆不要使用windows验证) <1> ... 
- Java JDBC基础学习小结
		JDBC是一个Java应用程序接口,作用是封装了对数据库的各种操作.JDBC由类和接口组成,使用Java开发数据库应用都需要4个主要的接口:Driver.Connection.Statement.Re ... 
- Java ——JDBC数据库编程
		数据库分类 关系型数据库:以表来存放数据的,数据与数据之间的关系通过表之间的连接体现 面向对象的数据库:保存的是对象本身 其它 数据库:数据库管理系统中创建一个个的保存数据的单位 数据是保存在数据库的 ... 
- java jdbc数据库操作
		package shb.java.demo3; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQ ... 
- java mysql数据库链接与资源关闭
		/** * Created by Clear on 2018/8/11. * here provide the kind of connections from mysql database,and ... 
- Java JDBC数据库编程
		课程 Java面向对象程序设计 一.实验目的 掌握数据库编程技术 二.实验环境 1.微型计算机一台 2.WINDOWS操作系统,Java SDK,Eclipse开发环境,Microsoft SQL ... 
- JAVA JDBC 元数据分析小结
		纯干货: 获取数据库名称: /** * 获取数据库的名称 */ public void getDataBaseName() throws Exception { Connection con = DS ... 
- java jdbc/ojdbc 链接oracle的三种方式
		方法一:使用service_name 连接oracle jdbc:oracle:thin:@//:/<service_name> 例如: jdbc:oracle:thin:@//10.1 ... 
随机推荐
- linux上安装git以及使用
			用git --version命令检查是否已经安装 在CentOS5的版本,由于yum源中没有git,所以需要预先安装一系列的依赖包.在CentOS6的yum源中已经有git的版本了,可以直接使用yum ... 
- Python_递归函数
			楔子 在讲今天的内容之前,我们先来讲一个故事,讲的什么呢?从前有座山,山里有座庙,庙里有个老和尚讲故事,讲的什么呢?从前有座山,山里有座庙,庙里有个老和尚讲故事,讲的什么呢?从前有座山,山里有座庙,庙 ... 
- JS高级---继承
			继承 面向对象编程思想: 根据需求, 分析对象, 找到对象有什么特征和行为, 通过代码的方式来实现需求, 要想实现这个需求,就要创建对象 ,要想创建对象, 就应该显示有构造函数, 然后通过构造函数来创 ... 
- 初识Java爬虫之Jsoup,提供参考代码
			本文主要分享的是关于Java爬虫技术其中一个方式 ==> Jsoup 1.Jsoup简介 推开技术大门,爬虫技术琳琅满目,而今天要分享的Jsoup是一款Java的HTML解析神器,,可直接 ... 
- Java 字符串、数值与16进制相互转化
			字符串.数值与16进制相互转化 首先创建一个工具类: package c; public class DataUtils { /* * 字节数组转16进制字符串 */ public static St ... 
- 安装Nginx:通过yum方式
			1.配置yum源: 在/etc/yum.repos.d中新建后缀为.repo的文件,此处以nginx.repo为例. 2.更新yum源: yum clean all yum makecache 3 ... 
- Python出现Could not find a version that satisfies the requirement openpyxl (from versions: )
			一.环境使用python3.7时,用pip安装openpyxl出现如下错误: 系统环境:windows10家庭版Python版本:python3.7.1IDE:sublime_text 3二. 解决方 ... 
- 查询 keystore文件的签名信息
			需要安装jdk 在安装 jdk的/bin文件夹下 keytool -v -list -keystore [keystore文件的路径] 
- lees入门
			安装 1 下载EasyLess插件 2 新建less文件,输入less语句,保存,就会在同级目录下生成同名的css文件 3 在HTML页面导入 <link rel="styleshee ... 
- 吴裕雄 python 机器学习——集成学习梯度提升决策树GradientBoostingRegressor回归模型
			import numpy as np import matplotlib.pyplot as plt from sklearn import datasets,ensemble from sklear ... 
