Java可以使用JDBC访问数据库,也可以使用各类ORM框架访问数据库,但这些框架最终还是通过JDBC访问数据库,它们只是封装了数据库 *** 作,而使得开发者可以减少这部分消耗。因此,本文只讲解JDBC访问方式。
JDBC访问一般分为如下流程:
1、加载JDBC驱动程序:
在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),这通过javalangClass类的静态方法forName(StringclassName)实现。
例如:
try{
//加载MySql的驱动类
ClassforName("commysqljdbcDriver");
}catch(e){
Systemoutprintln("找不到驱动程序类,加载驱动失败!");
e();
}
成功加载后,会将Driver类的实例注册到类中。
2、提供JDBC连接的URL
连接URL定义了连接数据库时的协议、子协议、数据源标识。
书写形式:协议:子协议:数据源标识
协议:在JDBC中总是以jdbc开始
子协议:是桥连接的驱动程序或是数据库管理系统名称。
数据源标识:标记找到数据库来源的地址与连接端口。
例如:(MySql的连接URL)
jdbc:mysql://localhost:3306/testuseUnicode=true&=gbk;
useUnicode=true:表示使用Unicode字符集。如果设置为
gb2312或GBK,本参数必须设置为true。=gbk:字符编码方式。
3、创建数据库的连接
要连接数据库,需要向javasql请求并获得Connection对象,该对象就代表一个数据库的连接。
使用的(Stringurl,Stringusername,Stringpassword)方法传入指定的欲连接的数据库的路径、数据库的用户名和密码来获得。
例如:
//连接MySql数据库,用户名和密码都是root
Stringurl="jdbc:mysql://localhost:3306/test";
Stringusername="root";
Stringpassword="root";
try{
Connectioncon=
(url,username,password);
}catch(se){
Systemoutprintln("数据库连接失败!");
se();
}
4、创建一个Statement
要执行SQL语句,必须获得javasqlStatement实例,Statement实例分为以下3种类型:
1、执行静态SQL语句。通常通过Statement实例实现。
2、执行动态SQL语句。通常通过实例实现。
3、执行数据库存储过程。通常通过实例实现。
具体的实现方式:
Statementstmt=con();
PreparedStatementpstmt=conprepareStatement(sql);
CallableStatementcstmt=conprepareCall("{CALLdemoSp(,)}");
5、执行SQL语句
Statement接口提供了三种执行SQL语句的方法:executeQuery、executeUpdate和execute
1、ResultSetexecuteQuery(StringsqlString):执行查询数据库的SQL语句,返回一个结果集(ResultSet)对象。
2、intexecuteUpdate(StringsqlString):用于执行INSERT、UPDATE或DELETE语句以及SQLDDL语句,如:CREATETABLE和DROPTABLE等
3、execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的语句。
具体实现的代码:
ResultSetrs=stmtexecuteQuery("SELECTFROM");
introws=stmtexecuteUpdate("INSERTINTO");
booleanflag=stmtexecute(Stringsql);
6、处理结果
两种情况:
1、执行更新返回的是本次 *** 作影响到的记录数。
2、执行查询返回的结果是一个ResultSet对象。
ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些行中数据的访问。
使用结果集(ResultSet)对象的访问方法获取数据:
while(rsnext()){
Stringname=rsgetString("name");
Stringpass=rsgetString(1);//此方法比较高效(列是从左到右编号的,并且从列1开始)
}
7、关闭JDBC对象
*** 作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声明顺序相反:
1、关闭记录集
2、关闭声明
3、关闭连接对象
if(rs!=null){//关闭记录集
try{
rsclose();
}catch(SQLExceptione){
eprintStackTrace();
}
}
if(stmt!=null){//关闭声明
try{
stmtclose();
}catch(SQLExceptione){
eprintStackTrace();
}
}
if(conn!=null){//关闭连接对象
try{
connclose();
}catch(SQLExceptione){
eprintStackTrace();
}
}
1、保持父图与子图的平衡:父图中某加工的输入输出数据流必须与它的子图的输入输出数据流在数量和名字上相同。
2、若一个文件首次出现时只与一个加工有关,那么这个文件应该作为这个加工的内部文件而不必画出。
3、一个加工所有数据流中的数据必须能从该加工的输入数据流中直接或得(或通过该加工就能产生)。
4、每个加工必须既有输入数据流,又有输出数据流。
1、打开sql2008,使用windows身份登录
2、登录后,右键选择“属性”。左侧选择“安全性”,选中右侧的“SQLServer和Windows身份验证模式”以启用混合登录模式
3、选择“连接”,勾选“允许远程连接此服务器”,然后点“确定”
4、展开“安全性”,“登录名”;“sa”,右键选择“属性”
5、左侧选择“常规”,右侧选择“SQLServer身份验证”,并设置密码
6、右击数据库选择“方面”
7、在右侧的方面下拉框中选择“服务器配置”;将“”属性设为“True”,点“确定”
8、至此SSMS已设置完毕,先退出,再用sa登录,成功即表示sa帐户已经启用
9、打开sqlserver配置管理器
10、下面开始配置SSCM,选中左侧的“SQLServer服务”,确保右侧的“SQLServer”以及“SQLServerBrowser”正在运行
11、在左则选择sqlserver网络配置节点下的sqlexpress的协议,在右侧的TCP/IP默认是“否”,右键启用或者双击打开设置面板将其修改为“是”
12、选择“IP地址”选项卡,设置TCP的端口为“1433”
13、将"客户端协议"的"TCP/IP"也修改为“Enabled”
配置完成,重新启动SQLServer2008。此时应该可以使用了,但是还是要确认一下防火墙。打开防火墙设置。将SQLServrexe(C:ProgramFilesMicrosoftSQLServerMSSQL10SQLEXPRESSMSSQLBinnsqlservrexe)添加到允许的列表中。
在过去的几年ClickHouse一直在快速的增长,也受到大量开发者的认可,但长久以来,并没有特别趁手的工具产品来访问和管理,所以,在完成MySQL支持之后,NineData选择优先支持ClickHouse。本文将介绍,如何使用NineData帮助开发者,通过GUI的方式访问和管理ClickHouse数据库。
ClickHouse简介ClickHouse凭借着其出色的分析查询性能,尤其是在日志处理上的优势,非常有效的解决了关系型数据库在海量数据场景下的分析查询短板问题。其语法与使用习惯也与当下最流行的数据库MySQL类似,迭代速度和对社区的响应也非常快,在过去的几年,ClickHouse收到大量开发者的认可。经过几年社区快速增长之后,在2021年ClickHouse Inc的成立也让该分析型数据库进入了开源与商业化一起发展的阶段。从目前的数据来看,未来ClickHouse还将是快速增长的分析型数据库之一。
使用NineData访问ClickHouse整个使用过程也较为简单。首先,需要在NineData数据源页面创建ClickHouse数据源。需要注意的是:
NineData使用>
如果使用了SSL加密(ClickHouse Cloud的强制要求),则需要打开下面SSL加密选项(如果没有开启SSL加密,则无需打开该选项)
"接入地域"可以选择一个尽可能离服务器近一些的地域,可以适当增加访问速度
使用NineData访问ClickHouse
在填好连接信息之后,可以点击“连接测试”按钮,验证是否可以正常访问ClickHouse,如果信息都正确的话,则会提示上图右上角的“连接成功”信息。在完成数据源配置之后,就可以通过SQL窗口功能访问该数据源了。
NIneData正常访问ClickHouse
使用导航树查看数据库内部的对象
下图即为NineData所提供的ClickHouse导航对象树。较详细的展示了ClickHouse数据库内部的对象,除了常见的表对象外,NineData还提供了视图、字典、ROW POLICY等数据库对象,在服务器层面,则支持了用户、角色、QUOTA、自定义函数等对象的展示。相比于同类的产品,例如,Arctype、DBeaver、DataGrip、阿里云DMS、ClickHouse自己提供的local play等(注:目前最新的Navicat Premium 16版本还不支持ClickHouse),NineData支持是最完整,最细致的。另外,NineData导航树还支持表对象的搜索功能,可以帮助开发者方便的搜索到关注的数据表。
NineData所提供的ClickHouse导航对象树
导航树功能对比:NineData VS 其他NineData的导航树提供了丰富而完整的数据库对象,对比常用的数据库GUI工具,NineData支持更加完整,体验更加友好。具体的对比如下:
NineData的导航树提供了丰富而完整的数
导航树功能对比:NineData VS 其他
说明:
Arctype是一个小型的数据库管理工具,前一段时间刚刚加入了ClickHouse Inc并不再更新原来的产品
local play是指ClickHouse自带的数据管理工具
DataGrid则是有JetBrains提供的数据库管理工具
DBeaver是一个第三方的开源数据库访问工具
DMS是阿里云数据库的一站式数据管理平台
智能的SQL补全提升效率NineData提供了强大的SQL提示、补全功能,可以最大程度的帮助开发者更叫高效的完成SQL编写。例如,在如下的截图案例中,左图中,NineData会根据光标的位置和语法结构识别出,这里需要填写数据表名/视图名,则优先推荐该类对象。在右图中,NineData则通过语法结构,对象别名等信息,准确的推荐最可能匹配的列信息。
NineData提供了强大的SQL提示、补全
使用NineData保存常用的SQL通常,对于运营人员来说,需要经常关注线上的业务数据;对于开发人员也需要经常关注线上系统的运行数据情况。NineData则可以通过“保存 SQL”功能,在线保存这些经常需要使用的SQL,用以完成一些常用数据库数据查询。
另外,NineData还支持全量的SQL运行历史保存,一方面用户可以使用该功能追溯实际行了哪些功能;也可以使用该功能,在历史SQL中找出常用的SQL。
小结通过这篇介绍,可以看到如何使用NineData快速简单的访问与管理ClickHouse实例。
另外,NineData除了可以支持以GUI的方式访问和管理ClickHouse之外,NineData还支持MySQL到ClickHouse的数据迁移/同步/复制功能,相比ClickHouse内置的集成引擎,NineData很好的解决了上游MySQL DDL变更时的链路稳定性以及复制时对象映射等问题,可以帮助用户高性能、高效率、高稳定性的完成从MySQL到ClickHouse的数据复制。
以上就是关于java如何访问数据库(java访问mysql数据库)全部的内容,包括:java如何访问数据库(java访问mysql数据库)、数据库在osi分层协议中在各层的表现形式是什么、数据库_开发指南_如何使用SQL和SQ等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)