文章目录
一、ORACLE
1. 确认oracle服务打开
在任务管理器—服务中找到下面两个服务OracleOraDb11g_home1TNSListener和OracleServiceORCL正在运行,否则右键启动服务。
2.为项目导入oracle驱动
右键项目–>点击properties–>点击左边Java Build Path–>点击中间的Libraries–>点击右边add External jars(为项目添加外部驱动)
然后在oracle安装目录下找到路径:
app\Administrator\product\11.2.0\dbhome_1\jdbc\lib
**选择下的ojdbc6.jar添加到项目中。如果没找到也可以在这下载Oracle11g驱动
**
如果是开发的java Web项目则还需要在Deployment Assembly中导入数据库驱动
3.连接数据库
修改代码中的变量
private static String user
private static String password
改为自己数据库的用户名和密码。即可连接数据库
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class DBTool {
private static String driverClass="oracle.jdbc.driver.OracleDriver"; //oracle的驱动
private static String url="jdbc:oracle:thin:@localhost:1521:orcl"; //连接oracle路径方式: orcl 是要建立连接的数据库名, 1521 是端口号
private static String user="*****"; //user是数据库的用户名
private static String password="******"; //用户登录密码
private static Connection conn=null;
private static Statement stmt = null;
private static ResultSet rs = null;
//连接数据库方法
public static Connection getConnection() {
try {
//首先建立驱动
Class.forName(driverClass);
//驱动成功后进行连接
conn = DriverManager.getConnection(url, user, password);
System.out.println("oracle连接成功");
return conn;
} catch (Exception e) {
System.out.println("oracle连接失败!!!");
e.printStackTrace();
}
return null;
}
//关闭数据库,一般使用的时候不需要关闭
public static void closeConnection(){
try {
if(conn != null && !conn.isClosed()){
conn.close();
conn = null;
}
}catch (SQLException e) {
e.printStackTrace();
}
}
//查询
public static void Search() {
String tablename = "books"; //需要查询的表名
String sql = "SELECT * FROM " + tablename;
try {
stmt = conn.createStatement();
rs= stmt.executeQuery(sql);
while (rs.next()) {
String stuno = rs.getString(1);
String stuname = rs.getString(2);
System.out.println(stuno + "," + stuname);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String []a) {
getConnection();
// Search();
closeConnection();
}
}
一、MYSQL
步骤大体和oracle一致,不一样的是java代码:
static final Stringdb_url 表示连接数据库的方式
> localhost:3306 是本地数据库地址和端口号
> USER 表示你的本地数据库名为USER
> useSSL=false 表示与服务器进行通信时是否使用SSL(真/假)。
> serverTimezone=UTC 表示设置时区为全球标准时间
import java.sql.*;
public class Mysql_Test {
// 版本:mysql 8.0
static final String driverClass = "com.mysql.cj.jdbc.Driver";
static final String db_url = "jdbc:mysql://localhost:3306/USER?"
+ "useSSL=false&serverTimezone=UTC";
//用户名及密码
static final String user = "root";
static final String password = "123456";
public static Connection conn = null;
public static Statement stmt = null;
public static void main(String[] args) {
try{
// 注册 JDBC 驱动
Class.forName(driverClass);
// 打开链接
System.out.println("连接数据库。。。");
conn = DriverManager.getConnection(db_url,user,password);
// 执行查询
stmt = conn.createStatement();
String sql = "SELECT * FROM user";
ResultSet rs = stmt.executeQuery(sql);
// 展开结果集数据库
while(rs.next()){
// 通过字段检索
String id = rs.getString("id");
String name = rs.getString("name");
String password = rs.getString("password");
System.out.println(id + " "+name + " "+password);
}
rs.close();
stmt.close();
conn.close();
}catch(Exception e){
//错误处理。。。
e.printStackTrace();
}
}
}
如果是在XML文件中连接数据库则需要修改连接数据库的URL
<property name="url" value="jdbc:mysql://localhost:3306/curriculum?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC"/>