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#窗体进度条

    c#窗体进度条 //进度条的最大值 ; progressBar1.Maximum = Convert.ToInt32(a); ;i<progressBar1.Maximum;i++) { //进 ...

  2. SQL Server经典sql语句大全(转)

    一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数 ...

  3. java中成员变量,局部变量,静态变量的辨析

    转自百度:https://baijiahao.baidu.com/s?id=1625360816541592483&wfr=spider&for=pc 1.java中成员变量,局部变量 ...

  4. 6.mybatis----日志工厂

    日志工厂 如果一个数据库操作出现了异常,我们需要排错,所以说日志就是最好的助手 曾经:sout,debug 现在:日志工厂 在Mybatis中具体使用哪一个日志,在设置中设定 咋设定? 在mybati ...

  5. winform学习(1)初识winform

    winform是Windows窗体应用程序 在窗体设计界面  单击鼠标右键--查看代码,即可转到Form1.cs的代码界面 从代码界面转到窗体设计界面的三种快捷方法:①双击解决方案资源管理器的 For ...

  6. 迎娶白富美,走上人生巅峰(python爬虫股票分析)

    一.姿势储备 股票交易,线性代数(分析股票),分位数(风险评估)... finace.yahoo.com 雅虎提供几乎所有股票api www.kaggle.com  有问题找社区 未完待续.....

  7. Integer.parseInt(s)、Integer.valueOf(s)与new Integer()的异同

    我们在开发过程中,很多时候需要将String类型数据转换成Integer,而比较常用的方式就是--nteger.parseInt(s).Integer.valueOf(s)与new Integer() ...

  8. 【转载】Java容器的线程安全

    转自:http://blog.csdn.net/huilangeliuxin/article/details/12615507 同步容器类 同步容器类包括Vector和Hashtable(二者是早期J ...

  9. DRF分页

    一.序列化 from rest_framework impost serializers from . models import * class GoodsSerializer(serializer ...

  10. Tinyhttp源码分析

    简介 Tinyhttp是一个轻量型Http Server,使用C语言开发,全部代码只500多行,还包括一个简单Client. Tinyhttp程序的逻辑为:一个无线循环,一个请求,创建一个线程,之后线 ...