历史就是一面镜子
回顾自己开发的历程,见证了时代变迁史记,下面我针对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<String> 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",
prop.getProperty("mysqluser"),
prop.getProperty("m