Java中怎么连接数据库

Java中怎么连接数据库,第1张

1、初学者常见的方式,使用JDBC直连数据库,加载一下驱动就可以。比较直观,但是项目中没人这样用,因为对于昂贵的数据库连接没有管理。

2、项目常见的方式,使用数据库连接池,DBCP,C3P0,proxool 等等,有统一有效的数据库连接管理,比较方便。

3、希望对你有帮助。

一般来说,连接文件放在哪没有固定的说法,那要看你用的是什么框架,spring,struts,java,jsp,hibernate等的连接位置都不同,有的在配置文件里,有的在代码里,tomcat的serverxml中也可以配置数据库连接,如果你的再java文件中,那就从各个文件中寻找类似下面的代码:

Stringdriver="commysqljdbcDriver";

Stringurl="jdbc:mysql://localhost:3306/test";

Stringuser="root";

Stringpassword="";

try{

ClassforName(driver);

}

catch(Exceptione){

Systemoutprintln("无法加载驱动程序"driver);

}

try{

Connectioncon=(url,user,password);

if(!conisClosed())

Systemoutprintln("数据库连接成功");

conclose();

}

catch(ee){

Systemoutprintln("数据库连接失败");

}

}

}

关键在Connectioncon=(url,user,password);

这一句,java,jsp主要用这个连接的,其余的只是把这个封装了。无非需要commysqljdbcDriver,user,password这三个字段,从项目里搜索或一个一个找应该可以找到。搜索时最好用commysqljdbcDriver或其中一部分来搜索。

======================

别人给你的源程序,那说明他本来里面应该已经有链接数据库的文件了,你就不用自己写了,数据库链接可以在tomcat中也可以不在tomcat里,已经有了,就不用你自己写了,你要做的就是找到数据库链接文件,然后把里面的地址、用户名、密码改成你目前数据库的。

按照我给你的方法应该可以找到数据库链接文件。

JDBC连接数据库

•创建一个以JDBC连接数据库的程序,包含7个步骤:

1、加载JDBC驱动程序:

在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),

这通过javalangClass类的静态方法forName(String className)实现。

例如:

try{

//加载MySql的驱动类

ClassforName("commysqljdbcDriver") ;

}catch(ClassNotFoundException e){

Systemoutprintln("找不到驱动程序类 ,加载驱动失败!");

eprintStackTrace() ;

}

成功加载后,会将Driver类的实例注册到DriverManager类中。

2、提供JDBC连接的URL

•连接URL定义了连接数据库时的协议、子协议、数据源标识。

•书写形式:协议:子协议:数据源标识

协议:在JDBC中总是以jdbc开始

子协议:是桥连接的驱动程序或是数据库管理系统名称。

数据源标识:标记找到数据库来源的地址与连接端口。

例如:(MySql的连接URL)

jdbc:mysql:

//localhost:3306/testuseUnicode=true&characterEncoding=gbk ;

useUnicode=true:表示使用Unicode字符集。如果characterEncoding设置为

gb2312或GBK,本参数必须设置为true 。characterEncoding=gbk:字符编码方式。

3、创建数据库的连接

•要连接数据库,需要向javasqlDriverManager请求并获得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 =

DriverManagergetConnection(url , username , password ) ;

}catch(SQLException se){

Systemoutprintln("数据库连接失败!");

seprintStackTrace() ;

}

4、创建一个Statement

•要执行SQL语句,必须获得javasqlStatement实例,Statement实例分为以下3

种类型:

1、执行静态SQL语句。通常通过Statement实例实现。

2、执行动态SQL语句。通常通过PreparedStatement实例实现。

3、执行数据库存储过程。通常通过CallableStatement实例实现。

具体的实现方式:

Statement stmt = concreateStatement() ;

PreparedStatement pstmt = conprepareStatement(sql) ;

CallableStatement cstmt =

conprepareCall("{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 = stmtexecuteQuery("SELECT FROM ") ;

int rows = stmtexecuteUpdate("INSERT INTO ") ;

boolean flag = stmtexecute(String sql) ;

6、处理结果

两种情况:

1、执行更新返回的是本次 *** 作影响到的记录数。

2、执行查询返回的结果是一个ResultSet对象。

• ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些

行中数据的访问。

• 使用结果集(ResultSet)对象的访问方法获取数据:

while(rsnext()){

String name = rsgetString("name") ;

String pass = rsgetString(1) ; // 此方法比较高效

}

(列是从左到右编号的,并且从列1开始)

7、关闭JDBC对象

*** 作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声

明顺序相反:

1、关闭记录集

2、关闭声明

3、关闭连接对象

if(rs != null){ // 关闭记录集

try{

rsclose() ;

}catch(SQLException e){

eprintStackTrace() ;

}

}

if(stmt != null){ // 关闭声明

try{

stmtclose() ;

}catch(SQLException e){

eprintStackTrace() ;

}

}

if(conn != null){ // 关闭连接对象

try{

connclose() ;

}catch(SQLException e){

eprintStackTrace() ;

}

}

导入javasql包

一、加载要连接数据库的驱动程序

//Jdbc-Odbc桥 和 Microsoft Access 数据库

ClassforName("sunjdbcodbcJdbcOdbcDriver");

// SQL Server 驱动程序:

ClassforName("commicrosoftjdbcsqlserverSQLServerDriver");

注:ClassforName()方法将给定的类加载到JVM,如果系统中不存在给定的类,则会引发异常

二、通过驱动程序管理器得到连接实例

Connection conn=null;

//1

//11建立数据源

conn=DriverManagergetConnection("jdbc:odbc:MyDataSource"); //MyDataSource是数据源名称

//1-2、不建立数据源

conn=DriverManagergetConnection("jdbc:odbc:;Driver=Microsoft Access Driver (mdb);DBQ=C:\\VBTestmdb");

//2SQL Server

conn=DriverManagergetConnection("jdbc:microsoft:sqlserver://127001:1433;databasename=mydb","sa","");

注:DriverManager类跟踪已注册的驱动程序,通过getConnection(URL)方法, 找到一个能够连接至URL中指定的数据库驱动程序

它接收三个参数, 分别表示1 数据源的名称、类型 2 用户名(可选) 3 密码(可选)

三、基于连接对象建立处理器对象

Statement stmt=conncreateStatement();

四、准备sql命令

String sql="select from Student";

五、执行命令返回结果集

ResultSet rs=stmtexecuteQuery(sql);

六、显示结果集

while(rsnext())//只要后面有记录

{

//对当前行的所有字段遍历

for(int i=1;i<=rsgetMetaData()getColumnCount();i++)

{

Systemoutprint(rsgetMetaData()getColumnName(i)+": ");//显示字段名

Systemoutprintln(rsgetString(i));//显示字段当前值

}

Systemoutprintln();

}

七、关闭资源

rsclose(); //关闭记录集

stmtclose(); //关闭处理器对象

connclose(); //关闭连接对象

预处理器的应用:

//3基于连接对象建立预处理器对象

PreparedStatement pstmt=connprepareStatement("insert into student values(,,,)");

//4给预处理对象的参数赋值

pstmtsetString(1,"8888");

pstmtsetString(2,"nemo");

pstmtsetString(3,"accp");

pstmtsetString(4,"sanxianglu");

//5执行预处理命令

int i=pstmtexecuteUpdate();

Systemoutprintln(i+"条记录已成功插入!");

比如连接最常用的sql server

需要下载jdbc驱动下载jdbc驱动包,安装之后,打开那个文件夹,你会看到三个jar包,只要把这三个jar包设置到环境变量(classpath)里就可以了,象这样

假设你安在d盘的tomcat\lib目录下,那么就是

安装之后,打开那个文件夹,你会看到三个jar包,只要把这三个jar包设置到环境变量(classpath)里就可以了,象这样

假设你安在d盘的sqldriver目录下,那么就是

d:\sqldriver\msbasejar;d:\sqldriver\mssqlserverjar;d:\sqldriver\msutiljar;

==================================================================== import javasql;

public class SqlTesting {

public static void main(String args[]) {

String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Northwind";

String user ="sa";

String password = "sa";

String sqlStr = "select CustomerID, CompanyName, ContactName from Customers";

try {

ClassforName("commicrosoftjdbcsqlserverSQLServerDriver");

Connection con = DriverManagergetConnection( url, user, password );

Statement st = concreateStatement();

ResultSet rs = stexecuteQuery( sqlStr );

Systemoutprintln( "----------------!" );

while(rsnext()) {

Systemoutprint(rsgetString("CustomerID") + " ");

Systemoutprint(rsgetString("CompanyName") + " ");

Systemoutprintln(rsgetString("ContactName"));

}

rsclose();

stclose();

conclose();

} catch(Exception err) {

errprintStackTrace(Systemout);

}

}

}

以上就是关于Java中怎么连接数据库全部的内容,包括:Java中怎么连接数据库、java数据库连接文件在哪(java通过配置文件连接数据库)、如何实现java与数据库的连接等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10122890.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存