Java可以使用JDBC访问数据库,也可以使用各类ORM框架访问数据库,但这些框架最终还是通过JDBC访问数据库,它们只是封装了数据库操作,而使得开发者可以减少这部分消耗。因此,本文只讲解JDBC访问方式。
JDBC访问一般分为如下流程:
1、加载JDBC驱动程序:
在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),
这通过java.lang.Class类的静态方法forName(String className)实现。
例如:
try{
//加载Mysql的驱动类
Class.forName("com.mysql.jdbc.Driver") ;
}catch(ClassNotFoundException e){
System.out.println("找不到驱动程序类 ,加载驱动失败!");
e.printStackTrace() ;
}
成功加载后,会将Driver类的实例注册到DriverManager类中。
2、提供JDBC连接的URL
•连接URL定义了连接数据库时的协议、子协议、数据源标识。
•书写形式:协议:子协议:数据源标识
协议:在JDBC中总是以jdbc开始
子协议:是桥连接的驱动程序或是数据库管理系统名称。
数据源标识:标记找到数据库来源的地址与连接端口。
例如:(MySql的连接URL)
jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gbk ;
useUnicode=true:表示使用Unicode字符集。如果characterEncoding设置为
gb2312或GBK,本参数必须设置为true 。characterEncoding=gbk:字符编码方式。
3、创建数据库的连接
•要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,该对象就代表一个数据库的连接。
•使用DriverManager的getConnectin(String url,String username,String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和密码来获得。
例如:
//连接MySql数据库,用户名和密码都是root
String url = "jdbc:mysql://localhost:3306/test" ;
String username = "root" ;
String password = "root" ;
try{
Connection con =
DriverManager.getConnection(url , username , password ) ;
}catch(SQLException se){
System.out.println("数据库连接失败!");
se.printStackTrace() ;
}
4、创建一个Statement
•要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3种类型:
1、执行静态SQL语句。通常通过Statement实例实现。
2、执行动态SQL语句。通常通过PreparedStatement实例实现。
3、执行数据库存储过程。通常通过CallableStatement实例实现。
具体的实现方式:
Statement stmt = con.createStatement() ;
PreparedStatement pstmt = con.prepareStatement(sql) ;
CallableStatement cstmt = con.prepareCall("{CALL demoSp(? , ?)}") ;
5、执行SQL语句
Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate和execute
1、ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句,返回一个结果集(ResultSet)对象。
2、int executeUpdate(String sqlString):用于执行INSERT、UPDATE或DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等
3、execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的语句。
具体实现的代码:
ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ;
int rows = stmt.executeUpdate("INSERT INTO ...") ;
boolean flag = stmt.execute(String sql) ;
6、处理结果
两种情况:
1、执行更新返回的是本次操作影响到的记录数。
2、执行查询返回的结果是一个ResultSet对象。
•ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些行中数据的访问。
•使用结果集(ResultSet)对象的访问方法获取数据:
while(rs.next()){
String name = rs.getString("name") ;
String pass = rs.getString(1); // 此方法比较高效(列是从左到右编号的,并且从列1开始)
}
7、关闭JDBC对象
操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声明顺序相反:
1、关闭记录集
2、关闭声明
3、关闭连接对象
if(rs != null){ // 关闭记录集
try{
rs.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(stmt != null){ // 关闭声明
try{
stmt.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(conn != null){ // 关闭连接对象
try{
conn.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
❷ 如何分析网站访问数据
通过对有效的用户行为分析,如来自搜索引擎的关键字访问统计、哪些页面最受欢迎及为什么受欢迎、又有哪些页面不受欢迎其原因在哪等,找到人们如何发现及以什么方式浏览我们网站的规律,从而能够为我们改善访问者的体验,改进网站以更好地满足访问者的要求提供基本思路,这样,才可以改进客户服务并使网站更具吸引力。
对网站访问情况分析应首先着眼于如下几方面:
用户来源
用户通过什么途径到达我们网站的,是其他网站的链接还是搜索引擎?来自搜索引擎的访问量又是分别来自哪家搜索引擎的?等等。
用户在搜索引擎中使用什么样的关键词找到我们网站的?通过对此项内容的分析,可以让我们找到关键词中的规律,如我们选定的关键词是不是有效,是否存在与内容相关甚至更佳但被忽略的关键词等。在此基础上,更改、调整或强化相应关键词,以求达到更好的网站优化效果。
最具吸引力的页面
网站访问量最大的页面是哪些?通过分析这些网页的关键词、Onpage优化元素等可以让我们更准确地把握搜索引擎的优化规律,同时,这些网页也揭示出用户浏览时希望查找何种类型内容的信息。
要达到更好的网站优化效果,就需要将从这类页面中归纳出的优化技巧更普遍地应用到其他网页上;要使网站更具吸引力,就需要突出显示此类内容,等等。
最不受欢迎的网页
哪些网页是无用页面?或基本上没人访问?
分析其原因,如果是搜索引擎未收录该页面或该页面在SERP中的排名很低导致用户无法在搜索引擎中找到该页,那么,需要改进该页的优化措施;如果是该页在SERP中存在且排名尚可,但访问人数却不理想,则可能该页内容属于绝大多数用户不感兴趣的了,这就需要调整网站中相应内容所占比例。
用户在网站内的浏览行为
用户在网站上停留多长时间?他们如何浏览网站?
对此的分析首先可以帮助我们发现网站结构是否合理,网站内的导航是否有效。要知道,很多时候甚至网站导航和信息路径之间的不一致也会造成用户浏览的困难。
对网站结构方面的分析还包括用户是否跳过多个页面,或者仅在某个页面上停留较短时间即离开网站,这往往意味着用户难以找到他们所需的具体内容,或者,也可能表示网站页面的载入时间过长,导致用户失去兴趣。
❸ 什么是数据访问
数据访问 (Data Access),是应用程序链接到数据源 (Data Source) 访问数据的一种行为 (Behavior),在大多数的应用程序中,经常会需要使用到数据,而这些数据可能来自很多不同类型的来源,像是数据库 (Database),网络数据源,本机文件,或是异质性的来源 (例如在 Mainframe 上的 IBM DB2 数据库),经由一层 (或多层) 中介代码或中间件 (Middleware) 进入数据源中,并且取出数据后送回应用程序中来处理。
❹ 简述C语言中直接访问数据方式和间接访问数据方式的区别
C语言具有获取变量地址和操作地址的能力,而用来操作地址的这种特殊数据就需要使用指针。指针是C的核心思想,是否可以熟练运用指针是是否掌握C语言的标志。
指针概述
指针是一种数据类型,它的值表示内存地址,指针数据类型声明的变量是指针变量,使用指针变量可以对内存空间进行操作。在C中,对内存空间的访问有两种访问方式,直接访问和间接访问。
1.直接访问
按照C的方式,如果定义一个变量,系统会给这个变量分配一块内存,变量有两个属性,变量值和变量地址。变量地址指示了该变量在内存中的存储位置,变量值是这块内存中的内容。要访问这块内存空间上的内容,可以直接使用变量名。
2.间接访问
间接访问的含义是先从其它内存空间获得要访问的内存地址,根据得到的地址访问目的地址。
❺ C语言中直接访问数据方式和间接访问数据方式区别
直接访问数据和间接访问数据 直接访问数据是指通过变量名直接使用变量数据,我们以前编写的程序,都是用这种方式访问数据。例如: int i; scanf("%d",&i); printf("%d",i); 间接访问数据是指通过指针变量去访问其他变量数据,这是C语言中大量使
❻ 访问数据库的方式有哪些啊
在ASP中可以通过三种方式访问数据库:
1、IDC(Internet Database Connector)方式;
2、ADO(ActiveX Data Objects)方式;
3、RDS(Remote Data Service)方式。
这三种访问方式对数据库的访问都是由Internet Information Server完成的。通过Web浏览器用HTTP协议向IIS(Internet信息服务器)发送请求,IIS执行对数据库的访问,并返回一个HTML格式的文档响应
❼ 数据库访问是什么
ps -ef | grep ora_
sqlplus / as sysdba
startup 然后想访问什么就打什么
❽ 数据库如何访问
关于如果访问的问题分3步吧
1.赠送方应该告诉你放置你数据库的服务器地址,以及数据库的用户名和密码,不过一般用户名和密码是你提供给赠送方,他们帮你设置好的。
2.你本地装有MYSQL和MSSQL数据库。
3.对本地数据库进行访问远程数据库的设置。
最后一步要自己具体操作的。
一般来说数据库的服务器和网站的服务器是分开的,你说的自行建立文件夹当作数据库我不太明白你到底是什么意思,如果你用的是access数据库,就可以方便地在本地建立。
❾ 如何用sql server 访问数据库
用sql server 访问数据库整理如下:
SQL Server默认是不允许远程连接的,如果想要在本地用SSMS连接远程服务器上的SQLServer2012数据库,需要确认以下环节:
1)如果是工作组环境,则需要使用SQL Server身份验证方式
2)如果是Windows域环境,则可使用Windows身份验证或者SQL Server身份验证
现在以工作组环境下SQL Server身份验证方式为例:
1)启用SQLServer身份验证模式进行登录。
❿ 如何直接访问网站的数据库
楼上的这种问题我也遇到过,往往是设计网站界面视图的人没有考虑到所有的需求,提供的数据库查询不够灵活。
确实有可能找到办法去访问这个数据库,不过应该提醒楼主,网站做界面的目的出了美观方便外,就是要限制用户不访问,所以通过非正常途径访问就要承担一定的责任了。
具体方法有:
1.理想方法:得到数据库的地址,例如楼上说的把mdb文件直接下载下来。当然很少有网站用access做数据库的,一般情况是需要知道数据库IP地址,数据库类型,库名,用户名和密码,然后通过toad等客户端软件来访问。
既然是理想方法,这种情况不太可能发生,除非你是内部人士,可以知道很多信息。因为通常数据库服务器会放在局域网上,不能被外部访问到。
2.实际方法:采用SQL注入等黑客技术。SQL注入是最简单的黑客技术了,不过由于简单威力也不会很大,要求网站设计对于安全的考虑不周,存在漏洞才行。
由于网站设计不周,就会在出错或者某些情况下暴露出数据库表结构的一些内幕,这样就可以写出你想要的SQL命令,把它插入到Web表单递交,或者页面请求的查询字符串中,最终达到欺骗服务器执行的目的。
如果楼主想了解更多,可以学学黑客知识,祝楼主好运!