Java怎么连接数据库 (使用技术及步骤原理,入门即会)
文章说明: 我们在这里讨论怎么去使用,了解它基本内容 ,认真看完 你就会了
连接时需要在 eclipse(idea) 加入它所需要的 jar包 依赖(下面讲为什么)
你可以从网盘下载 也可以去官网搜索 下载所需的版本
链接:https://pan.baidu.com/s/10nKrIf-e1gX9w0wYBAkbPQ
提取码:wf55
http://mysql-connector-java-5.1.23-bin.jar
一.连接时使用的技术
1.JDBC (java DataBase Connectivity) java语言连接数据库
2.JDBC的本质:
JDBC是一套接口(面向接口写实现类,能够解耦合,提高代码的扩展力)
因为每个数据库底层的实现原理是不同的,如果没有接口 访问不同数据库就要不同的代码
jdbc驱动: 所有的数据库连接的驱动都以 jar包存在(里面是.class) 有很多的 .class文件
他们是对JDBC接口的实现类 由数据库厂商提供连接相应的数据库 官网下载
二 .连接的准备
1.首先在你的项目中建立 一个lib 文件夹(表示加入依赖)(资源在上面)
2.选择这个项目的Properties 在下面页面中添加Libraries进入这个项目 jar配置到项目)
三. 连接步骤
接下来就是连接步骤 实现对数据库的增删改查 (重要实现步骤)
JDBC编程的六步(一定要背会,这个技术后面将被Mybatis框架替代现在一定要会)
1):注册驱动 (告诉Java要连接什么数据库)
2): 获得连接 (表示JVM的进程与数据库之间的通道打开)
3): 获得数据库操作对象 (它专门执行sql语句的对象)
4): 执行sql 语句
5): 处理查询结果集 (只有执行select 语句才有的步骤)
6): 释放资源 (使用完后,一定要关闭)
2.详细讲解(下面有实现)
1):注册驱动
你所下载的jar包解压后 ,在这个路径下 ,你将看到 JDBC 提供的驱动 ,在创建时使用
//第一步 注册驱动 (前面是jdk提供的类)
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
2): 获得连接
提供连接时的信息( url :连接对象)
解释 url jdbc:数据库软件:// 你的电脑ip : 软件的端口(mysql 3306) /你的连接数据库名
String url="jdbc:mysql://localhost:3306/bj";
String user="数据库使用者";
String password="数据库密码";
Connection conn= DriverManager.getConnection(url, user, password);
3): 获得数据库操作对象
Statement stmt =conn.createStatement();
四.展示实现
1.首先建立你的数据库,和所需要的表
2.更改我的代码中的配置为你的信息 建立连接
package connect;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;//资源绑定获取 文件中的内容
public class connect1 {public static void main(String []arge) {//定义下面需要的对象Connection conn=null;Statement stmt=null;//因为下面要关闭 所以创建变量 不能再try中 try {//一定要把这个连接文件建立在这个项目下面//第一步 注册驱动DriverManager.registerDriver(new com.mysql.jdbc.Driver());//第二步 获取连接String url="jdbc:mysql://localhost:3306/bj";String user="root"; //这里的信息是需要更改的String password="wzf001115";conn= DriverManager.getConnection(url, user, password);System.out.println("数据库连接对象"+conn);//第三步获取数据库操作对象stmt =conn.createStatement();//第四步 执行sql语句//这里就是你要对数据库操作的语句 String sql="insert into dept(deptno,dname,loc) value (60,'人事部','北京') ";//这里的返回值 是对数据库影响的条数int count =stmt.executeUpdate(sql);System.out.println(count==1?"执行成功":"执行失败");//第五步 处理查询结果(对待有select的语句其他的没有)//第六步 关闭资源 在finally中} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally {if(stmt!=null)try {stmt.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}if(conn!=null)try {conn.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
}
执行sql添加操作,结果为
执行的查询语句
好了,现在你就可以使用你的信息 做数据库的操作了
加油,
Java怎么连接数据库 (使用技术及步骤原理,入门即会)相关推荐
- JAVA JDBC连接数据库操作的基本步骤
JAVA中JDBC连接数据库操作的基本步骤.注:假定连接数据库的用户名为root,密码为root. 步骤一: 定义连接数据库的相关信息 步骤一: 定义连接数据库的相关信息(1) 连接数据库的驱动:8. ...
- 深入掌握Java技术 EJB调用原理分析
深入掌握Java技术 EJB调用原理分析 一个远程对象至少要包括4个class文件:远程对象:远程对象的接口:实现远程接口的对象的stub:对象的skeleton这4个class文件. 在 ...
- java holder详解,Java基础系列18:Holder技术的实现原理分析
一 简介 (1)Java中的Holder是什么? 我这里说的Holder即这个类:javax.xml.ws.Holder 这个类属于JAX-WS 2.0规范中的一个类.它的作用是为不可变的对象引用提供 ...
- java web 应用技术与案例教程_《Java Web应用开发技术与案例教程》怎么样_目录_pdf在线阅读 - 课课家教育...
出版说明 前言 第1章 java Web应用开发技术概述 1.1 Java Web应用开发技术简介 1.1.1 Java Web应用 1.1.2 Java Web应用开发技术 1.2 Java Web ...
- Java开发神器Lombok的使用与原理
在面向对象编程中必不可少需要在代码中定义对象模型,而在基于Java的业务平台开发实践中尤其如此.相信大家在平时开发中也深有感触,本来是没有多少代码开发量的,但是因为定义的业务模型对象比较多,而需要重复 ...
- Java CAS无锁技术深度解析
在看AQS代码的时候,看到它很多地方调用了unsafe.compareAndSwapInt这类方法,百度了一下得知这叫CAS无锁技术. CAS原理深度分析 转自:https://blog.csdn.n ...
- Java Web实用开发技术
Java Web实用开发技术 图形验证码 图形验证码的实现 图形验证码的生成 案例--带图形验证码的登陆模块 MD5加密 在线编辑器 CKEditor下载及配置 CKEditor的使用 文件的上传与下 ...
- 【java】Java即时编译(JIT)器原理解析及实践
1.概述 转载:Java即时编译(JIT)器原理解析及实践 一.导读 常见的编译型语言如C++,通常会把代码直接编译成CPU所能理解的机器码来运行.而Java为了实现"一次编译,处处运行&q ...
- Atitit.java jna 调用c c++ dll的原理与实践 总结 v2 q27
Atitit.java jna 调用c c++ dll的原理与实践 总结 v2 q27 1. Jna简单介绍1 2. Jna范例halo owrld1 3. Jna概念2 3.1. (1)需 ...
- 支撑Java框架的基础技术:泛型,反射,动态代理,cglib
以Spring为例要想看明白他的源码需要彻底理解Java的一些基础技术泛型,反射同时对于一些高级技术例如动态代理,cglib和字节码技术也需要掌握,下面就按章节来一一说清楚这些技术的核心部分,最后手写 ...
最新文章
- python第三方库numpy-Python第三方库之Numpy库
- python Dask库安装方法
- iOS11适配tableView顶部空白
- 摆摊吗?我卖锅,你修手机。
- 画验证曲线_椭圆曲线加密算法(ECC)
- 动态规划之两个字符串的最大子序列
- JavaScript-字符串
- java算法之希尔排序
- 单片机按键“消抖”的思考
- PS5运行Linux,索尼发布最新驱动!PS5手柄现在已支持Linux系统
- autorun.inf删除方法
- 一秒钟世界上会发生多少事_一秒之中会发生什么
- 遥感数字图像处理------第二章---数字图像存储与读取
- 第三季-第16课-信号量互斥编程
- EasyIcon:免费图标搜索和下载平台
- 一些经久不衰的linux 视频教程列表
- Quartz配置文件quartz.properties加载
- Python猜数字项目源代码
- 计算机1M代表什么,1M等于多少kb?KB MB GB TB 各是什么意思?
- java 填充字符串_Java字符串右补齐——String.format
热门文章
- Problem C: 哈夫曼树
- JAVA集合系列(6):HashMap
- ValueError: output parameter for reduction operation logical_and has too many dimensions ?
- 调用钉钉接口和微信实现消息通知
- 列表ListBox、ListView、GridView 排序
- 【第四组】用例文档+功能说明书+技术说明书:查看导入的图片,工作序号:001,2017/7/11...
- ios UISegmentedControl的使用简介
- Linux虚拟存储系统
- optuna 自动化调参利器
- 使用GMM进行语音性别检测(入门)