博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Eclipse使用JDBC小案例
阅读量:5010 次
发布时间:2019-06-12

本文共 3964 字,大约阅读时间需要 13 分钟。

  JDBC(Java Database Connectivity:Java访问数据库的解决方案)定义一套标准接口,即访问数据库的通用API,不同数据库厂商根据各自数据的特点去实现这些接口。

  JDBC是Java应用程序和数据库之间的通信桥梁,是Java应用程序访问数据库的通道。

  1.JDBC标准主要有一株接口组成,其好处是统一了各种数据库的访问方式;

  2.JDBC接口的实现类称为数据库驱动,由数据库厂商提供,使用JDBC必须要导入接口;

  

第1部分 JDBC工作过程:

1)加载驱动,建立连接;

2) 创建语句对象;

3) 执行SQL语句;

4) 处理结果集;

5) 关闭连接;

 

第2部分 JDBC具体使用步骤:

1) 导入JDBC驱动jar;

  使用Maven可以便于导入jar包和移植

2) 注册JDBC驱动;

         参数:“驱动程序类名”

         Class.forName(“驱动程序类名”);

3) 获得Connection对象

         需要三个参数:URL,username,password

         连接数据库

4) 创建Statement(语句)对象

         conn.createStatement()方法创建对象

         用于执行SQL语句

         execute(ddl) 执行任何语句,常用语执行DDL

         executeUpdate(DML) 执行DML语句 ,如insert,update,delete

         executeQuery(DQL) 执行DQL语句,如select

5) 处理SQL执行结果:

         execute(DDL) 如果没有异常则成功;

         executeUpdate(DML) 返回数字,表示更新“行”数量,抛出异常则失败;

         executeQuery(DQL) 返回ResultSet(结果集)对象,代表2维查询结果;

         使用for遍历处理,如果查询失败抛出异常!

6) 关闭数据连接,最后一定要关闭!

         conn.close();

第3部分 小案例

3.1 创建一个表

  注意:用String写SQL语句时换行时要注意加空格!

package kwin.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.Statement;/** * jdbd使用 * @author KwinWei QQ:885251358 * */public class JdbcDemo {    public static void main(String[] args) {        try {            /*连接到数据库             */            Class.forName("oracle.jdbc.OracleDriver");            //System.out.println("OK!");            /*不同的oracle的IP地址不同               * 主机名,端口号,SID             * url,username,password             *              * jdbc:oracle:thin   写错会找不到驱动               * 后半写错     连接不上数据库             *              * sqldeverment 连接右键可查看             * */            String url = "jdbc:oracle:thin:@localhost:1521:xe";            String username = "system";  //用户名密码错误会拒绝连接            String password = "root";                        //getConnection() 查找并尝试连接到数据库,如果不成功则会出现异常            Connection conn = DriverManager.getConnection(url,username,password);            //输出conn引用对象的实际类名            //证明:驱动程序提供了Connection接口的实现类            System.out.println(conn.getClass());                                    /*创建“语句”对象,执行SQL             * Statement接口             * Statement stmt = conn.createStatement();             * boolean flag = stmt.execute(sql); 什么语句都可以执行,一般执行DDL语句,;             * ResultSet rs = stmt.execute.Query(sql);执行dql语句,selecte,产生结果集;             * int flag = stmt.executeUpdate(sql);执行DML语句,delete,update             *              * 这三方法不要乱用,其实互换使用可以,但不建议;按建议使用方式来;             * */            Statement st = conn.createStatement();            String ddl1 = "CREATE TABLE kwinDemo( " +                     " id NUMBER(4) ," +                     " name VARCHAR2(40)," +                     " gender VARCHAR2(1)" +                     ")";            boolean b = st.execute(ddl1);            //返回结果:true表示有结果集;false没有结果集;创建失败抛异常;            System.out.println(b);                conn.close();   //最后一定要关闭连接                    }catch(Exception e) {            e.printStackTrace();        }        }}
View Code

 3.2 执行DML语句,往表里插入数据

package kwin.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.Statement;/** * 执行DML语句 * @author KwinWei QQ:885251358 * */public class JdbcDemo2 {    public static void main(String[] args) {        try{
/*注册驱动*/ Class.forName("oracle.jdbc.OracleDriver"); //连接到数据库 String url = "jdbc:oracle:thin:@localhost:1521:xe"; String username = "system"; String password = "root"; Connection conn = DriverManager.getConnection(url,username,password); //System.out.println(conn.getClass()); //创建Statement Statement st = conn.createStatement(); //执行DML,插入可以去SQL Dvelopment里查看 String dml = "insert into kwinDemo" + "(id,name) values(001,'Tom')"; int n = st.executeUpdate(dml); System.out.println(n); //关闭连接 conn.close(); }catch(Exception e) { e.printStackTrace(); } }}
View Code

 

转载于:https://www.cnblogs.com/kwinwei/p/10659375.html

你可能感兴趣的文章
判读字符串是否为空的全局宏-分享
查看>>
iOS中Block的基础用法
查看>>
mac 终端 使用ftp命令
查看>>
22-reverseString-Leetcode
查看>>
Centos 开机自动联网
查看>>
cocos2dx使用lua和protobuf
查看>>
使用Spring配合Junit进行单元测试的总结
查看>>
HDOJ 5630 Rikka with Chess
查看>>
netcore2.1 在后台运行一个任务
查看>>
PostgreSQL pg_hba.conf 文件简析
查看>>
android o logcat read: unexpected EOF!
查看>>
[Scrum]2010/12/28 —— 第一天!
查看>>
ASP.NET MVC模式 温习(一)排除MVC模式误区
查看>>
Mysql的read_only 只读属性说明 (运维笔记)
查看>>
DOCKER 从入门到放弃(五)
查看>>
Python 多线程学习
查看>>
appcan官方ajax
查看>>
获取NVIDIA显卡的温度
查看>>
Dijkstra算法
查看>>
Deep Learning 9: Performance
查看>>