JDBC基础01

今日知识

1. JDBC基本概念2. 快速入门3. 对JDBC中各个接口和类详解

JDBC:

1. 概念:Java DataBase Connectivity  Java 数据库连接, Java语言操作数据库	* JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。2. 快速入门    *步骤:        1. 导入驱动jar包 mysql-connector-java-5.1.37-bin.jar			1.复制mysql-connector-java-5.1.37-bin.jar到项目的libs目录下			2.右键-->Add As Library		2. 注册驱动		3. 获取数据库连接对象 Connection		4. 定义sql		5. 获取执行sql语句的对象 Statement		6. 执行sql,接受返回结果		7. 处理结果		8. 释放资源    * 代码实现:	  	//1. 导入驱动jar包        //2.注册驱动        Class.forName("com.mysql.jdbc.Driver");        //3.获取数据库连接对象        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db3", "root", "root");        //4.定义sql语句        String sql = "update account set balance = 500 where id = 1";        //5.获取执行sql的对象 Statement        Statement stmt = conn.createStatement();        //6.执行sql        int count = stmt.executeUpdate(sql);        //7.处理结果        System.out.println(count);        //8.释放资源        stmt.close();        conn.close();

JDBC:封装

1. 新建文件db.properties    //存放对应的键值对    driverClass=com.mysql.jdbc.Driver    url=jdbc:mysql://localhost:3306/test?characterEncoding=utf8    user=root    password=123456

2. JDBCUtils编写

    public class JDBCUtils {    -- 获取Connection对象    public  static Connection getConnection() throws  Exception{        Connection connection = null;        //加载Driver类        Properties properties=new Properties();//获取键值对        //获取输入流,读取文件        properties.load(new FileReader("db.properties"));        String driver=properties.getProperty("driverClass");        String url=properties.getProperty("url");        String user=properties.getProperty("user");        String password=properties.getProperty("password");        //2. 注册驱动        Class.forName(driver);        //	3. 获取数据库连接对象 Connection        connection= DriverManager.getConnection(url,user,password);        return  connection;    }    -- 释放资源    public static void releaseResource(Connection connection, Statement statement, ResultSet resultSet){        if (connection!=null){            try {                connection.close();            } catch (SQLException e) {                e.printStackTrace();            }        }        if (statement!=null){            try {                statement.close();            } catch (SQLException e) {                e.printStackTrace();            }        }        if (resultSet!=null){            try {                resultSet.close();            } catch (SQLException e) {                e.printStackTrace();            }        }    }

}

对JDBC中各个接口和类详解

1. DriverManager:驱动管理对象    *功能        1. 注册驱动            Class.forName("com.mysql.jdbc.Driver");        2. 获取数据库连接           Connection connection= DriverManager.getConnection(url,user,password);            *参数:            * URL:指定的链接的路径                *url=jdbc:mysql://localhost:3306/test?characterEncoding=utf8            * user:用户名            * password:密码2. Connection    *功能:        1.获取执行SQL的对象            *PreparedStatement  preparedStatement(String sql):            *Statement  creatStatement();        2. 管理事务        	1. 开启事务:*con.setAutoCommit(false):开启事务		    2. 回滚:rollback;		    *在catch中回滚事务		    3. 提交事务:commit;3. Statement:执行sql的对象    *功能:        1.boolean  execute(String sql);//执行任意类型的sql语句        2. int executeUpdate(String sql);//执行任意类型的sql语句 执行DML(insert,update,delete),DDL(create,alter,drop)             * 返回值影响行数,可以通过返回值判断DML语句是否执行成功        3. ResultSet executeQuery(String sql):DQL(select)类型4. ResultSet:    * 功能        *next():游标下移一个            *st.next():判断当前行是否是最后一行         *getXxx():获取值,Xxx代表获取的值的类型        getXxx(int i):获取值                i:代表列,第i列                例如:getString(1);        getXxx(String i):获取值                i:代表列的属性值                例如;getString("id");

5. PreparedStatement    *功能:        使得sql执行语句分两步执行,防止用户使用sql的关键字达到非法访问数据库的目的        例如:    //2.定义sql语句      String sql="insert into account values(null,?,?)";    //定义sql语句执行对象,防止注入    PreparedStatement st=con.prepareStatement(sql);    //给? 赋值     st.setString(1, xxx);     st.setString(2, xxx);     //执行sql    rs=st.executeQuery(sql);

原文地址:https://www.cnblogs.com/rqy0526/p/11067264.html

时间: 2024-11-05 19:38:58

JDBC基础01的相关文章

安卓基础01

安卓基础01 SDK System images 这是在创建模拟器时需要的system image,也就是在创建模拟器时CPU/ABI项需要选择的,下载并解压后,将解压出的整个文件夹复制或者移动到 your sdk 路径/system-images文件夹下即可, 如果没有 system-images目录就先 创建此文件夹,然后打开SDK Manager,打开Tools(工 具)菜单选择Options(选项)菜单项打开Android SDK Manager Setting对话框,点击Clear C

JDBC 基础知识总结

1.  何谓JDBC  --- Java Database Connectivity. 由Sun 公司提供的访问数据库的一组java类和接口,用来对数据库进行链接.发送SQL语句.处理返回结果,为开发人员提供了统一的访问数据库入口API,使得开发人员可以不用绑定到特定数据库访问API. 2. 应用程序,JDBC API,JDBC 驱动程序,数据库之间的层次关系如下图: 3. 4.  JDBC 有四种驱动: 4.1  JDBC-ODBC 桥链接:   把对JDBC接口的访问翻译成对应的ODBC的访

iOS基础 01 构建HelloWorld,剖析并真机测试

iOS基础 01 构建HelloWorld,剖析并真机测试 前言: 从控制台输出HelloWorld是我们学习各种语言的第一步,也是我们人生中非常重要的一步. 多年之后,我希望我们仍能怀有学习上进的心情,继续以HelloWorld去认识这世界上更多的东西. 本篇以HelloWorld作为切入点,向大家系统介绍什么事iOS应用以及如何使用Xcode创建iOS应用. 目录: 1. 创建HelloWorld工程 1.1. 设计界面 1.2. 真机测试 2. Xcode中的iOS工程模板 2.1. Ap

jdbc基础 (五) 连接池与数据源 DBCP以及C3P0的使用

一.连接池的概念和使用 在实际应用开发中,特别是在WEB应用系统中,如果JSP.Servlet或EJB使用JDBC直接访问数据库中的数据,每一次数据访问请求都必须经历建立数据库连接.打开数据库.存取数据和关闭数据库连接等步骤,而连接并打开数据库是一件既消耗资源又费时的工作,如果频繁发生这种数据库操作,系统的性能必然会急剧下降,甚至会导致系统崩溃.数据库连接池技术是解决这个问题最常用的方法. 数据库连接池的主要操作如下: (1)建立数据库连接池对象. (2)按照事先指定的参数创建初始数量的数据库连

jdbc基础 (四) 批处理

批处理,就是字面上的意思,一次性处理一批sql语句. 直接看例子吧: 1 package com.cream.ice.jdbc; 2 3 import java.sql.Connection; 4 import java.sql.PreparedStatement; 5 import java.sql.ResultSet; 6 import java.sql.Statement; 7 8 import org.junit.Test; 9 10 /** 11 * 12 * 假设已经存在表test:

C#面向对象基础01

面向对象不是取代面向过程的类.对象."人"是类,"张三"是人这个类的对象.类是抽象的,对象是具体的.按钮就是类,某个按钮就是对象.对象可以叫做类的实例.类就像int,对象就像10.字段field(和某个对象相关的变量),字段就是类的状态.人这个 类有姓名.年龄.身高等字段.类不占内存,对象才占内存.方法:方法就是累能够执行的动作,比如问好.吃饭等.类的继承,类之间可以有继承关系,比如电脑类可以从"电器"类继承,这样的好处是"电脑&quo

C#语言基础01

Console.WriteLine("hello"); Console.ReadKey();// 按一个按键继续执行 string s=Console.ReadLine();//用户输入文字的时候程序 是暂停的 ,用户输入玩 必点回车,把用户输入的作为返回值,声明一个string 类型的变量(容器)s,用s来放ReadLine函数返回的值. Console.WriteLine(s); /*inti1=10;int i2=20; Console.WriteLine(i1+ "+

python基础01 Hello World!

作者:徐佳 欢迎转载,也请保留这段声明.谢谢! 摘要:简单的Hello Word! python 命令行 如已经安装python,那么在linux命令行中输入 $python 将进入python.乱吼在命令行提示符>>>后面输入 print ('Hello World!') 随后在屏幕上输出: Hello World! 写一段小程序 另一个使用Python的方法,是写一个Python程序.用文本编辑器写一个.py结尾的文件,比如说hello.py 在hello.py中写入如下,并保存:

Linux基础01 学会使用命令帮助

Linux基础01 学会使用命令帮助 概述 在linux终端,面对命令不知道怎么用,或不记得命令的拼写及参数时,我们需要求助于系统的帮助文档:linux系统内置的帮助文档很详细,通常能解决我们的问题,我们需要掌握如何正确的去使用它们:在只记得部分命令关键字的场合,我们可通过man -k来搜索:需要知道某个命令的简要说明,可以使用whatis:而更详细的介绍,则可用info命令:查看命令在哪个位置,我们需要使用which:而对于命令的具体参数及使用方法,我们需要用到强大的man:下面分别介绍: 命