原生JDBC连接步骤
#原生JDBC连接步骤
Java中定义了访问数据库的接口,可以为多种关系型数据库统一的访问方式。
由数据库厂商提供驱动实现类。
##JDBC开发步骤
1.注册驱动,jdk1.8之后,自动注册。
//获取类对象导致类加载,执行静态代码块,注册驱动
Class.forName("com.mysql.jdbc.Driver");
//1.驱动注册两次 2.耦合性高,依赖驱动类。
//DriverManager.registerDriver(new com.mysql.jdbc.Driver());
2.获取连接
//url:Uniform Resources Location 统一资源定位符(连接字符串),是一个连接数据库的地址
String url="jdbc:mysql://localhost:3306/companydb?useSSL=false&characterEncoding=utf8&serverTimezone=GMT%2B8";
// jdbc:mysql:// 是协议
// localhost:主机名 ip地址
// 3306:端口号
// companydb:数据库名
// ?useSSL=false:取消安全连接
// characterEncoding=utf8:设置编码集为utf-8
// serverTimezone=GMT%2B8:设置时区,mysql8.0才用
Connection conn = DriverManager.getConnection(url,"root","");//三个参数,url,用户名,密码,该语句执行完成就相当于三次握手
if(conn!=null){System.out.println("连接成功");
}
3.创建命令
Statement stat = conn.createStatement();
4.执行命令
(4.1)创建数据库,数据表
//execute(sql); any SQL statement 执行任何SQL语句,如果第一个结果是一个ResultSet,返回true;否则flase;
//executeUpdate(); 执行DML(insert,update,delete) DDL(create database,create table),返回影响行个数,或0
//executeQuery.executeQuery(); 执行查询,返回结果集
int count = stat.executeUpdate("create database if not exists rom");
stat.executeUpdate("use rom;");
int count2 = stat.executeUpdate("create table Wife("+"id int primary key acto_imcrement,"+"name varchar(20),"+"gender char(1),"+"address varchar(30),"+"lover varchar(20);"+")")
System.out.println("执行结果:"+count);
(4.2)插入数据
//4.1添加int c1 = stat.executeUpdate("INSERT INTO wife value (null,'艾米莉亚','123','女','魔女大陆','2000-8-10','486')");int c2 = stat.executeUpdate("INSERT INTO wife value(null,'蕾姆','1234','女','魔女大陆','2006-6-6','486')");int c3 = stat.executeUpdate("INSERT INTO wife value(11,'拉姆','1235','女','魔女大陆','2006-6-6','486')");int c4 = stat.executeUpdate("INSERT INTO wife value(12,'菜月昴','13','男','魔女大陆','1999-2-7','艾米莉亚')");//4.2更新int c5 = stat.executeUpdate("Update wife set gender='n' where id = 12");//4.3删除int c6 = stat.executeUpdate("DELETE from wife where id = 12");System.out.println("执行结果:"+c1);System.out.println("执行结果:"+c2);System.out.println("执行结果:"+c3);System.out.println("执行结果:"+c4);System.out.println("执行结果:"+c5);System.out.println("执行结果:"+c6);
(4.3)查询
ResultSet rs = stat.executeQuery("select * from wife;");while (rs.next()){int id = rs.getInt("id");String name = rs.getString("name");String pwd = rs.getString("password");String gender = rs.getString("gender");String address = rs.getString("address");Date born = rs.getDate("born");String lover = rs.getString("lover");System.out.println(id+name+pwd+gender+address+born+lover);}//倒序查找while (rs.previous()){int id = rs.getInt("id");String name = rs.getString("name");String pwd = rs.getString("password");String gender = rs.getString("gender");String address = rs.getString("address");Date born = rs.getDate("born");String lover = rs.getString("lover");System.out.println(id+name+pwd+gender+address+born+lover);}
5.关闭
rs.close();
stat.close();
conn.close();
原生JDBC连接步骤相关推荐
- pom 导入mysql连接,maven项目中的jdbc连接步骤
在maven项目pom.xml中到入驱动包(以下是驱动包代码) mysql mysql-connector-java 8.0.15 导入成功会看到Maven Dependencies下有个mysql- ...
- JAVA JDBC连接步骤代码,SQL注入,处理异常try catch 的快捷键
备注:try catch快捷键:选中代码块,然后Ctrl+Alt+T //idea 所需文件夹 查询:statement.executeQuery(sql) 返回结果是数据集 package c ...
- 原生JDBC连接MySQL数据库踩的坑
前几天被一个项目对接要搞死了,搞了好几天,各种方法去试.各种百度去搜.各个门道去问,最终终于解决了心头一缕缕思愁!!!
- java基础类库——java数据库编程,JDBC连接(原生数据库连接)(十)
java数据库编程,JDBC连接(原生数据库连接) JDBC严格来讲不属于一门技术,它属于一种服务.所有的操作流程都是固定的.JDBC是java提供的数据库操作的一个标准(它就是一组相关的标准接口), ...
- JDBC连接(MySql)数据库步骤,以及查询、插入、删除、更新等十一个处理数据库信息的功能。...
主要内容: JDBC连接数据库步骤. 一个简单详细的查询数据的例子. 封装连接数据库,释放数据库连接方法. 实现查询,插入,删除,更新等十一个处理数据库信息的功能.(包括事务处理,批量更新等) 把十 ...
- [转载] 1.1Java使用JDBC原生方式连接MySql数据库
参考链接: Java数据库连接JDBC驱动程序 前言:今天有朋友问我原生的java连接数据库,因为框架的使用,如果基础不牢固的人,是很容易遗忘原生的连接方式.今天正好趁此做一下回顾: 这里只考虑原生方 ...
- 简述使jdbc连接mysql数据库,关于JDBC的六个步骤
一.JDBC简述 JDBC(Java DataBase Connectivity) Java数据库连接 其实就是 利用Java语言/程序连接并访问数据库的一门技术 之前我们可以通过CMD或者navic ...
- 水晶报表 mysql_水晶报表CrystalReport2008使用JDBC连接MySQL数据库-详细步骤
水晶报表CrystalReport2008使用JDBC连接MySQL数据库-详细步骤 一:前期准备工作 lCrystal Report 2008 lJDBC相关jar包 ---mysql-connec ...
- 使用Intellij Idea 创建一个JDBC连接sqlserver数据库的程序步骤
详情看这个链接 原文JDBC连接数据库示例 1.环境准备 1.1 配置Java环境这里就不详细写了,我用的Java版本是64位1.8.0_171,Java版本可以与我不同,能正常使用就行了. 1.2 ...
最新文章
- 图片上传之FileAPI与NodeJs
- 信息学奥赛一本通C++语言——1037:计算2的幂
- 如何制作一个基于Tile的游戏 2 Cocos2d-x 2 0 4
- SpringBoot与任务
- 浅析JavaScript和PHP中三个等号(===)和两个等号(==)的区别
- Android 系统(260)---Android 读取SIM卡参数
- java求出遍历二叉树的路径,102. 二叉树的层序遍历
- mysql语句错误怎么查找_SQL语法错误但是怎么也找不出来,求指导
- 《Managed DirectX +C# 开发(入门篇)》系列文章
- java程序包condition不存在,Ant javac:包x不存在,但我将x.jar添加到java构...
- 【复习篇】高等代数第五版重难知识点整理(1)
- Qt 之播放m3u8视频流
- 鲁棒控制(棒棒控制原理)
- 数据库索引是什么 有什么优缺点
- 计算机网络连接限制,网络连接受限,详细教您网络连接受限怎么解决
- 魔方cfop公式软件_【初级篇】(八)最简单的三阶魔方入门教程——顶棱还原...
- JAVA Oracle插入大量数据优化
- MyEclipse+Tomcat+Java+MySQL实现企业员工信息管理系统
- vue2项目引入社交分享插件vshare
- 【我的Android进阶之旅】SQLite出错时候的错误码整理
热门文章
- 深度学习学习路径丨一文带你零基础入行!建议收藏
- 1508-张晨曦总结《2016年-11月-20日》【连续30天总结】
- norm(w)在matlab,MATLAB中norm的使用方法
- jupyter中d2l报错
- 图网络 | Graph Attention Networks | ICLR 2018 | 代码讲解
- KMP算法字符串匹配
- ORA-12518: TNS:listener could not hand off client connection .
- 学习SpringBoot:java图片上传到服务器
- 上班族必修课:PDF在线拆分
- 求直线(已知起点和角度,给出新点推算直线的端点)