java操作数据库的几种方式

admin
2025-10-24 00:54:08

历史就是一面镜子

回顾自己开发的历程,见证了时代变迁史记,下面我针对java连接数据库的方式说起

0 原生jdbc

先普及下jdbc,怕新入行的人早已沉浸在包装库和框架中,甚至都没用过原生jdbc。

Java数据库连接,全称是Java Database Connectivity,简称JDBC,是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。我们通常说的JDBC是面向关系型数据库的。百科这样解释的Java数据库连接。

开发人员要做的几个步骤:

开发步骤:

1、注册驱动.,告知JVM使用的是哪一个数据库的驱动

2、获得连接.,使用JDBC中的类,完成对MySQL数据库的连接

3、获得语句执行平台,通过连接对象获取对SQL语句的执行者对象

4、执行sql语句,使用执行者对象,向数据库执行SQL语句 获取到数据库的执行后的结果

5、处理结果

6、释放资源.

注意写代码之前,要导入数据库驱动包,连接不同厂商的数据库要用不同的驱动包

对应的驱动包

新建项目,普通的java项目就行,导入第三方jar太简单了,自行百度

示例代码如下:

import java.io.BufferedInputStream;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.InputStream;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.HashMap;

import java.util.Iterator;

import java.util.Properties;

import com.mysql.jdbc.ResultSetMetaData;

/**

*

* @author dgm

* @describe "原生jdbc"

* @date 2020年4月13日

*/

public class MysqlTest {

// JDBC 驱动名及数据库 URL

static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";

static final String DB_URL = "jdbc:mysql://192.168.8.200:3306/bdrackdemo?useUnicode=true&characterEncoding=utf8&autoReconnect=true";

// 数据库的用户名与密码,需要根据自己的设置

static final String USER = "root";

static final String PASS = "cstorfs";

static Properties prop = new Properties();

//读取数据库配置文件

static void readDBSetting(String path) {

// Properties prop = new Properties();

// 读取属性文件mysql.properties

InputStream in = null;

try {

in = new BufferedInputStream(new FileInputStream(path));

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

try {

prop.load(in);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} // /加载属性列表

Iterator it = prop.stringPropertyNames().iterator();

while (it.hasNext()) {

String key = it.next();

System.out.println(key + "=" + prop.getProperty(key));

}

try {

in.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

// return prop;

}

public static void main(String[] args) {

// 读取mysql 配置信息

readDBSetting("conf/mysql.properties");

Connection conn = null;

Statement stmt = null;

ResultSet rs = null;

try {

// 注册 JDBC 驱动

Class.forName(prop.getProperty("dbDriver")).newInstance();

// 打开链接

System.out.println("连接数据库...");

conn = DriverManager

.getConnection(

"jdbc:mysql://"

+ prop.getProperty("mysqlhost")

+ ":"

+ prop.getProperty("mysqlport")

+ "/"

+ prop.getProperty("dbname")

+ "?useUnicode=true&characterEncoding=utf8&autoReconnect=true",