欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据库连接

程序员文章站 2022-06-11 21:41:47
...

连接数据库模板(Oracle、MySql)
抬头看见月光,却记不起来时的路
一、链接数据库步骤
1、加载驱动程序
Oracle代码块:

Clas.forname("oracle.jdbc.driver.OracleDriver");//加载驱动包

说明:Class.forName()为反声明

MySql代码块:

Clas.forname("com.mysql.jdbc.Driver");

2、创建指定的数据库的URL
Oracle代码块

String url = "jdbc:oracle:thin:@localhost:1521/ORCL";

MySql代码块

String url = "jdbc:mysql://localhost:3306/student"

3、建立数据库连接
代码块:

DriverManager.getConnection(url,"userId","password");

标准模板(Oracle):

package Jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

public class jdbc {
private Connection conn = null;//创建数据库链接
private PreparedStatement pre= null;//创建预编译语句对象,可进行批处理
ResultSet result = null;//创建结果集对象
//连接数据库的URL
private String url = "jdbc:oracle:thin:@localhost:1521/ORCL";
private String user = "userId";
private String password = "password";
/加载驱动,写在静态代码中,只加载一次/
static{
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
System.out.println("---Oracle驱动加载成功---");
}catch(ClassNotFoundException e){
System.out.println("----Oracle驱动加载失败---");
e.printStackTrace();
}
}
/获得数据库连接/
public Connection getConn(){
try{
conn = DriverManager.getConnection(url,user,password);
System.out.println("---连接成功---");
}catch(SQLException e){
e.printStackTrace();
}
return conn;
}
/更新操作/
public boolean executeSQL(String sql){
System.out.println("执行SQL为:"+sql );
try {
conn = getConn();
pre = conn.prepareStatement(sql);
if(pre.executeUpdate(sql) > 0){
return true;
}else{
System.out.println("\n更新SQL执行结果为0!");
return false;
}
} catch (SQLException e) {
e.printStackTrace();
return false;
} finally{
release();
}
}
/查询操作/
public ArrayList<Map<String, Object>> query(String sql) {
System.out.println("执行SQL : "+sql);
ArrayList<Map<String, Object>> rsList = null;
try {
rsList = new ArrayList<Map<String, Object>>();
pre = getConn().prepareStatement(sql);
result = pre.executeQuery();//不需要写参数
//取出查询sql所有的列名
ResultSetMetaData rsmd = result.getMetaData();
while (result.next()) {
Map<String, Object> rsMap = new HashMap<String, Object>();
for (int i = 1; i <= rsmd.getColumnCount(); i++) {
//获取每一列的列名
String columnName = rsmd.getColumnName(i);
//获取每一列的列值
//rs.getstring(String columnLabel) 通过列名获取列值
String columnValue = result.getString(columnName);
rsMap.put(columnName, columnValue);
}
rsList.add(rsMap); //将存储好信息的map存储到list中
}
} catch (Exception e) {
e.printStackTrace();
} finally {
release();
}
return rsList;
}
/释放资源/
public void release(){
try{
if(result != null)
result.close();
if(pre !=null)
pre.close();
if(conn != null)
conn.close();
System.out.println("数据库连接已关闭!");
}catch(Exception e){
e.printStackTrace();
}
}
}
放不下的放不下,得不到的得不到

上一篇: 数据库连接

下一篇: 数据库连接