JDBC连接数据库的过程
以连接MySQL为例:
(1)加载MySQL数据库连接的驱动程序。到MySQL官网下载该驱动程序jar包,然后把包复制到WEB-INF/lib目录下,则JDBC会调用Class.forName()方法,将制定的类加载到JVM中:
Class.forName("com.mysql.jdbc.Driver");
(2)设置访问数据库的用户名、密码及连接URL。基本格式是:JDBC协议+数据库的IP地址+数据库端口号+数据库名:
String user = "root";
String pwd = "";
String url = "jdbc:mysql://localhost:3306/db_database07";
(3)通过JDBC API的DriverManager的getConnection()的方法创建与数据库之间的连接,该方法需要上步中定义的三个参数:
Connection conn = DriverManager.getConnection(url, user, pwd);
(4)建立连接后,使用该连接对象conn创建用户操作SQL语句的Statement对象。创建Statement对象用createStatement()方法;或者用Connection对象创建PrepareStatement对象来执行SQL语句,使用的是prepareStatement()方法:
Statement st = conn.createStatement();
//或者用prepareStatement对象
PreparedStatement pst = conn.prepareStatement("select * from tb_user");
(5)调用Statement对象的execute()方法,编译执行sql语句:
String sql = "update from tb_user set age=30 where userId=1";
st.execute(sql);
(6)关闭数据库连接。数据库用完后要及时关闭与数据库之间的连接,释放系统资源。
conn.close();
具体实例:
public static Connection getMySQLCon(){
Connection con = null;
try{
Class.forName("com.mysql.jdbc.Driver");
String user = "root";
String pwd = "111";
String url = "jdbc:mysql://localhost:3306/db_databanse07";
con = DriverManageer.getConnection(url, user, pwd);
} catch(Exception e){
e.printStackTrace();
}
return con;
}
JDBC核心API:
JDBC核心API主要包括5个接口:代表数据库连接的Connection接口、驱动程序管理类DriverManager、执行SQL语句的Statement接口、预编译SQL语句的PreparedStatement接口,预编译SQL语句的PreparedStatement接口、结果集ResultSet接口。
PreparedStatement VS Statement
在程序中,最好使用PreparedStatement对象,因为它使程序具有良好的可维护性和可读性;PreparedStatement对象预编译SQL语句可以提高程序的性能,而Statement对象的SQL语句每次执行都需要编译,可以提高程序的安全性。
PreparedStatement中SQL语句的预编译是怎么执行的?
PreparedStatement在执行第一次编译后,将SQL语句存放在数据库中,类似于key-value对应的方式存储,当下一次将同样的SQL语句发送到数据库时,如果数据库查找到有相应的key存在,则直接调用编译过的SQL,避免了重复编译语句的过程,从而提高数据库性能。
JDBC连接数据库的过程的更多相关文章
- 使用JDBC连接数据库
JDBC(Java Data Base Connectivity)数据库连接,我们在编写web应用或java应用程序要连接数据库时就要使用JDBC.使用JDBC连接数据库一般步骤有: 1.加载驱动程序 ...
- JDBC连接数据库经验技巧(转)
Java数据库连接(JDBC)由一组用 Java 编程语言编写的类和接口组成.JDBC 为工具/数据库开发人员提供了一个标准的 API,使他们能够用纯Java API 来编写数据库应用程序.然而各个开 ...
- 代码的二次重构(开篇:JDBC连接数据库)
Java中使用JDBC连接数据库时,若是使用初级的代码,代码复用率非常低,连接过程简单来说分为以下几个步骤: 加载驱动包 准备好URL链接获取数据库连接(driver和url根据不同的数据库的不同而不 ...
- JDBC连接数据库步骤及Class.forName()(转)
JDBC连接数据库 JDBC是Sun公司制定的一个可以用Java语言连接数据库的技术. 一.JDBC基础知识 JDBC(Java DataBase Connectivity,java数据库连接)是一种 ...
- Java操作数据库——使用JDBC连接数据库
Java操作数据库——使用JDBC连接数据库 摘要:本文主要学习了如何使用JDBC连接数据库. 背景 数据持久化 数据持久化就是把数据保存到可掉电式存储设备中以供之后使用.大多数情况下,特别是企业级应 ...
- jdbc连接数据库以及简单实现(普通JDBC方法实现和连接池方式实现)
@ 目录 总结内容 1. 基本概念 jdbc的概念 2. 数据库连接 数据库的连接 DAO层思想 重构设计 3. 事务 概念 事务的ACID属性 事务的操作 4. 连接池 为什么要使用连接池 连接池分 ...
- JDBC连接数据库
JDBC连接数据库 1.加载JDBC驱动程序. Class.forName("com.mysql.jdbc.Driver"); 建立连接,. Connection conn = D ...
- java开发中JDBC连接数据库代码和步骤
JDBC连接数据库 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.l ...
- java开发JDBC连接数据库详解
JDBC连接数据库 好文一定要让大家看见 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机) ...
随机推荐
- 介绍三种PHP加密解密算法
PHP加密解密算法 这里主要介绍三种常用的加密解密算法:方法一: /** * @param $string 要加密/解密的字符串 * @param string $operation 类型,ENCOD ...
- Apache Maven(四):依赖
依赖管理是Maven的特性之一,它是用户最为熟悉的特性之一,也是Maven擅长的领域之一.管理单个项目的依赖并没有太大困难,但是当您开始处理由数十或数百个模块组成的多模块项目和应用程序时,Maven可 ...
- 吐血分享:QQ群霸屏技术教程(利润篇)
QQ群技术,不论日进几百,空隙时间多的可以尝试,日进100问题不大. QQ群技术,如何赚钱,能赚多少钱?不同行业,不同关键词,不同力度,不一样的产出. 群费 群费,这个和付费群是有区别的,群费在手机端 ...
- 搞笑入群二维码在线生成源码 php图片合成并添加文字水印
在凤凰网看到一篇文章:微信群二维码也能“整人”,99%的好友会中招!感觉挺好玩,所以自己也想做一个! 冷静分析
- python3 练习题100例 (二十八)打印一定范围内的素数
题目内容: 给定一个大于2的正整数n,打印出小于n(不包括n且n不大于100)的所有素数. 要求将符合条件的输出填入一个列表中,打印的结果为该列表. 输入格式: 共一行,为一个大于2的正整数 输出格式 ...
- python3爬虫之开篇
写在前面的话: 折腾爬虫也有一段时间了,从一开始的懵懵懂懂,到现在的有一定基础,对于这一路的跌跌撞撞,个人觉得应该留下一些文字性的东西,毕竟好记性不如烂笔头,而且毕竟这是吃饭的家伙,必须用心对待才可以 ...
- mysql用命令创建用户创建数据库设置权限
1.create database bbs; //创建数据库 2.create user bbs IDENTIFIED by 'bbs'; //创建用户bbs和登录密码bbs 3.grant AL ...
- Uber CEO博鳌论坛采访:看好中国市场共享经济的发展模式
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- Oracle 学习笔记(四)
oracle表查询 使用逻辑操作符号 查询工资高于 500 或者是岗位为 MANAGER 的雇员,同时还要满足他们的姓名首字母为大写 J SELECT * FROM emp WHERE (sal ...
- Epplus下的一个将Excel转换成List的范型帮助类
因为前一段时间公司做项目的时候,用到了Excel导入和导出,然后自己找了个插件Epplus进行操作,自己将当时的一些代码抽离出来写了一个帮助类. 因为帮助类是在Epplus基础之上写的,项目需要引用E ...