jdbc连接数据库步骤都有哪些

如题所述

JDBC连接数据库
•创建一个以JDBC连接数据库的程序,包含7个步骤:
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() ;
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-09-14
JDBC连接数据库•创建一个以JDBC连接数据库的程序,包含7个步骤:1、加载JDBC驱动程序:在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),这通过java.lang.Class类的静态方法forName(StringclassName)实现。例如:try{//加载MySql的驱动类Class.forName("com.mysql.jdbc.Driver");}catch(ClassNotFoundExceptione){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(Stringurl,Stringusername,Stringpassword)方法传入指定的欲连接的数据库的路径、数据库的用户名和密码来获得。例如://连接MySql数据库,用户名和密码都是rootStringurl="jdbc:mysql://localhost:3306/test";Stringusername="root";Stringpassword="root";try{Connectioncon=DriverManager.getConnection(url,username,password);}catch(SQLExceptionse){System.out.println("数据库连接失败!");se.printStackTrace();}4、创建一个Statement•要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3种类型:1、执行静态SQL语句。通常通过Statement实例实现。2、执行动态SQL语句。通常通过PreparedStatement实例实现。3、执行数据库存储过程。通常通过CallableStatement实例实现。具体的实现方式:Statementstmt=con.createStatement();PreparedStatementpstmt=con.prepareStatement(sql);CallableStatementcstmt=con.prepareCall("{CALLdemoSp(?,?)}");5、执行SQL语句Statement接口提供了三种执行SQL语句的方法:executeQuery、executeUpdate和execute1、ResultSetexecuteQuery(StringsqlString):执行查询数据库的SQL语句,返回一个结果集(ResultSet)对象。2、intexecuteUpdate(StringsqlString):用于执行INSERT、UPDATE或DELETE语句以及SQLDDL语句,如:CREATETABLE和DROPTABLE等3、execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的语句。具体实现的代码:ResultSetrs=stmt.executeQuery("SELECT*FROM");introws=stmt.executeUpdate("INSERTINTO");booleanflag=stmt.execute(Stringsql);6、处理结果两种情况:1、执行更新返回的是本次操作影响到的记录数。2、执行查询返回的结果是一个ResultSet对象。•ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些行中数据的访问。•使用结果集(ResultSet)对象的访问方法获取数据:while(rs.next()){Stringname=rs.getString("name");Stringpass=rs.getString(1);//此方法比较高效}(列是从左到右编号的,并且从列1开始)7、关闭JDBC对象操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声明顺序相反:1、关闭记录集2、关闭声明3、关闭连接对象if(rs!=null){//关闭记录集try{rs.close();}catch(SQLExceptione){e.printStackTrace();}}if(stmt!=null){//关闭声明try{stmt.close();}catch(SQLExceptione){e.printStackTrace();}}if(conn!=null){//关闭连接对象try{conn.close();}catch(SQLExceptione){e.printStackTrace();}}
第2个回答  2017-09-14
1、利用DriverManager连接数据库
1.1最简单粗暴的方法:
public static Connection getConnection() throws ClassNotFoundException{

String url="jdbc:mysql:///jdbc";//我连的数据库是MySQL中的jdbc数据库
String username="root";
String password="";//我的MySQL数据库的密码是空字符串
String driverClass="com.mysql.jdbc.Driver";
Connection ct=null;
Class.forName(driverClass);
try {
ct=DriverManager.getConnection(url, username, password);

} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return ct;
}

1.2利用io流读取文件的方式;
public static Connection getConnection() throws ClassNotFoundException, IOException {
String driver = null;
String jdbcurl = null;
String user = null;
String password = null;
// 读取类路径下的jdbc.propreties文件(配置文件)
InputStream in = JDBCtool.class.getClassLoader().getResourceAsStream("jdbc.properties");
// 以上为输入流
Properties pt = new Properties();// 创建properties
pt.load(in);// 取键值对(加载对应的输入流)
driver = pt.getProperty("driver");
jdbcurl = pt.getProperty("jdbcurl");
user = pt.getProperty("user");
password = pt.getProperty("password");
Connection ct = null;
Class.forName(driver);
try {
ct = DriverManager.getConnection(jdbcurl, user, password);

} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return ct;
}

将diver、jdbcurl、user、password这些信息存储到类路径下的jdbc.propreties文件中(以下是该文件中的内容)

2、利用c3p0连接池连接数据库
准备工作:
1、导入c3p0的jar包,切记一定要把其相依赖的jar包——mchange-commons-java-0.2.3.4.jar也导进来哦;
2、编写c3p0-config.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<named-config name="helloc3p0">
<!-- 连接数据源的基本属性 -->
<property name="user">root</property>
<property name="password"></property>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql:///jdbc</property>

<!-- 若数据库中连接数不足时,一次向数据库服务器申请多少个连接 -->
<property name="acquireIncrement">5</property>
<!-- 初始化数据库连接池时连接的数量 -->
<property name="initialPoolSize">5</property>
<!-- 数据库连接池中的最小的数据库连接数 -->
<property name="minPoolSize">5</property>
<!-- 数据库连接池中的最大的数据库连接数 -->
<property name="maxPoolSize">10</property>
<!-- c3p0数据库连接可以维护的statement的个数 -->
<property name="maxStatements">20</property>
<!-- 每个连接同时可以使用的statement对象的个数 -->
<property name="maxStatementsPerConnection">5</property>
</named-config>
</c3p0-config>
获取数据库连接的代码如下:
private static DataSource ds=null;
//数据库连接池应只被初始化一次
static{
ds=new ComboPooledDataSource("helloc3p0");
}
//获取数据库连接
public static Connection getConnection() throws ClassNotFoundException, SQLException, IOException{
return ds.getConnection();
}

3、利用DBCP连接池连接数据库——本人基本不用这个方法,故不详细阐述了
总结:强烈推荐使用第二种方式c3p0连接池的方式!!!
第3个回答  2015-09-26
fhgy

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("...

JDBC连接数据库的步骤都有哪些?
1、JDBC所需的四个参数(user,password,url,driverClass)(1)user用户名;(2)password密码;(3)URL定义了连接数据库时的协议、子协议、数据源标识。书写形式:协议:子协议:数据源标识。协议:在JDBC中总是以jdbc开始。子协议:是桥连接的驱动程序或是数据库管理系统名称。数据源标识:标记找到...

java中使用JDBC完成数据库操作的基本步骤是什么?
创建一个以JDBC连接数据库的程序,包含7个步骤: \\x0d\\x0a 1、加载JDBC驱动程序: \\x0d\\x0a 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), \\x0d\\x0a 这通过java.lang.Class类的静态方法forName(String className)实现。 \\x0d\\x0a 例...

JDBC连接数据库的步骤都有哪些?
1、首先我们通过数据库可视化工具navicate for mysql,新建一个数据库,名字叫test新建一张表。2、添加id,name字段,点击【保存】,设置表名称为user。3、最终数据库及表创建成功。4、然后我们添加一条数据。5、下载java mysql connector驱动,通过maven添加依赖即可。

JDBC使用步骤过程
JDBC操作数据库的基本步骤:1、加载JDBC驱动程序。在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的静态方法forName(String className)实现。成功加载后,会将Driver类的实例注册到DriverManager类中。2、提供JDBC连接的URL。连接URL定义了连接数据库时的...

JDBC使用步骤过程是什么?
1.加载数据库驱动程序:各个数据库都会提供JDBC的驱动程序开发包,直接把JDBC操作所需要 的开发包(一般 为*.jar或*.zip)直接配置到classpath路径即可。2. 连接数据库:肯定要使用连接地址。根据各个数据库的不同,连接的地址也不同,此连接地址 将由数据库厂商提供,一般在使用JDBC连接数据库时都要求...

jdbc连接数据库步骤
jdbc连接数据库步骤如下:操作设备:戴尔笔记本电脑 操作系统:win10 操作程序:mysql jdbc 1、点击左下角的开始菜单,如下图所示:2、输入cmd,打开命令行,如下图所示:3、输入Net start Mysql,启动mysql服务,如下图所示:4、先输入create database,如下图所示:5、然后输入你想要的数据库名字,如...

java使用主程序JDBC连接数据库?
第一步 a)加载对应的驱动程序(首先确保将对应的驱动程序的jar包导入到项目中)\/ Class.forName("com.mysql.jdbc.Driver");\/ 第一步 b)根据已经加载的驱动程序 利用相应的参数 获取数据库的指定连接 \/ Connection conn = DriverManager.getConnection("jdbc:mysql:\/\/localhost:3306\/myxjgs", "root",...

java中使用JDBC连接数据库的步骤?
1.注册驱动 Class.forname("com.mysql.jdbc.Driver");\/\/这是连接mysql数据库的驱动 2.获取数据库连接 java.sql.Connection conn=java.sql.DriverManager.getConnection(); 3.获取表达式 java.sql.Statement stmt=conn.createStatement("jdbc:mysql:\/\/localhost\/test?useUnicode=true&characterEncoding=GBK"...

JDBC连接Mysql
第三个版本(JDBC-NET 纯java驱动)通过网络API连接,使用中间件操作数据库。第四个版本(本地协议纯java驱动)完全由Java程序实现数据库操作。数据查询步骤 在执行增、删、改操作前,需要按照以下步骤进行:1. 导入驱动jar包:加载驱动前应先导入驱动jar包。可点击下载获取。2. 解压jar包:按照图示解压...

相似回答