Java JDBC 数据库链接小结随笔

一、链接数据库的步骤

二、关于Statement  和  PrepareStatement 两者区别 用法

三、关于 ResultSet 的一些小结

四、自定义工具类的封装

五、一些异常的解释

一、链接数据库的步骤

  • 注册驱动
  • 获得链接对象
  • 创建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 数据库链接小结随笔的更多相关文章

  1. Java JDBC数据库链接

    好久没有编写有关数据库应用程序啦,这里回顾一下java JDBC. 1.使用Java JDBC操作数据库一般需要6步: (1)建立JDBC桥接器,加载数据库驱动: (2)连接数据库,获得Connect ...

  2. java JDBC 数据库链接

    1.准备环境搭建: myeclipse,sql2005,jdbc. 2.都下载完之后开始进行安装 ,前两个是属于数据库软件,正常安装即可(注意数据库登陆不要使用windows验证) <1> ...

  3. Java JDBC基础学习小结

    JDBC是一个Java应用程序接口,作用是封装了对数据库的各种操作.JDBC由类和接口组成,使用Java开发数据库应用都需要4个主要的接口:Driver.Connection.Statement.Re ...

  4. Java ——JDBC数据库编程

    数据库分类 关系型数据库:以表来存放数据的,数据与数据之间的关系通过表之间的连接体现 面向对象的数据库:保存的是对象本身 其它 数据库:数据库管理系统中创建一个个的保存数据的单位 数据是保存在数据库的 ...

  5. java jdbc数据库操作

    package shb.java.demo3; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQ ...

  6. java mysql数据库链接与资源关闭

    /** * Created by Clear on 2018/8/11. * here provide the kind of connections from mysql database,and ...

  7. Java JDBC数据库编程

    课程  Java面向对象程序设计 一.实验目的 掌握数据库编程技术 二.实验环境 1.微型计算机一台 2.WINDOWS操作系统,Java SDK,Eclipse开发环境,Microsoft SQL  ...

  8. JAVA JDBC 元数据分析小结

    纯干货: 获取数据库名称: /** * 获取数据库的名称 */ public void getDataBaseName() throws Exception { Connection con = DS ...

  9. java jdbc/ojdbc 链接oracle的三种方式

    方法一:使用service_name 连接oracle  jdbc:oracle:thin:@//:/<service_name> 例如: jdbc:oracle:thin:@//10.1 ...

随机推荐

  1. C语言随笔1:内存分配方式与动静态变量

    首先几个基本概念(网上的各种说法都很乱:个人理解整理了一下 内存分类方法很多,动态.静态:  五区:  三段: 内存的区: 1.动态存储区分为 栈区.堆区   也统称为堆栈段1.1栈区(.stack) ...

  2. python之路xml模块补充

    创建一个子节点一共有三个方式 创建一个子节点2.3

  3. AcWing 282. 石子合并

    #include <iostream> #include <algorithm> using namespace std; ; int n; int s[N];//前缀和 in ...

  4. 问题 I: 数字分组2

    问题 I: 数字分组2 时间限制: 1 Sec  内存限制: 128 MB[命题人:admin] 题目描述 已知一堆魔法石的重量,问如何分成两堆,使得它们质量和之差最大,但不能大于(可以等于)这些数中 ...

  5. 安装proxmox VE (PVE 安装教程)

    1. 下载PVE, 笔者下载的版本是proxmox-ve_6.1-1.iso 版本,官网地址:https://www.proxmox.com/ 2. mac电脑dd命令刻录安装镜像 MacBook-P ...

  6. 【Python】【爬虫】爬取酷狗音乐网络红歌榜

    原理:我的上篇博客 import requests import time from bs4 import BeautifulSoup def get_html(url): ''' 获得 HTML ' ...

  7. fileupload插件调用upload.parseRequest(request)解析得到空值问题

    得到的list长度是0,项目配置不能改变,没办法了,只能将HttpServletRequest强换成DefaultMultipartHttpServletRequest ,直接获取表单中的字段了.方法 ...

  8. CentOS7 卸载Firefox

    先进入管理员模式 执行: yum remove firefox 然后用whereis 查看,却发现还是有: [root@localhost ~]# whereis firefox firefox: / ...

  9. 8.7-Day1T1

    题目大意: T组测试数据,每组测试数据给出一个n,求[0,n-1]所有逆元的和.(n可能不为质数) 题解: 我的想法: 求出每一个数的逆元,再相加.由于有n为质数的时候,所以,我将它分为两种情况:(1 ...

  10. win7 安装asp.net v4.0

    错误信息影响: HTTP 错误 403.14 - Forbidden Web 服务器被配置为不列出此目录的内容.返回的错误表明IIS缺少针对无后缀的MVC请求的映射,ASP.NET处理程序无法接收到请 ...