Java--JDBC连接与Django--DATABASES设置

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
简介: JDBC 简介   JDBC(Java Data Base Connectivity,java 数据库连接)是一种用于执行 SQL 语句的 JavaAPI,可以为多种关系 数据库提供统一访问,它由一组用 Java 语言编写的类和接口组成。

JDBC 简介

  JDBC(Java Data Base Connectivity,java 数据库连接)是一种用于执行 SQL 语句的 JavaAPI,可以为多种关系

数据库提供统一访问,它由一组用 Java 语言编写的类和接口组成。JDBC 提供了一种基准,据此可以构建更高
级的工具和接口,使数据库开发人员能够编写数据库应用程序。  

JDBC 原理

  JDBC 原理:JDBC 是以前 SUN 公司定义的一套访问数据库的接口(没有具体实现),一套标准,具体的实现是由

各大数据库厂家去实现,每个数据库厂家都有自己的 JDBC 实现,也就是 JDBC 驱动实现类,Java 应用程序连接
指定数据库,需要使用厂家提供的 JDBC 驱动才能连接。(这里其实就是 java 多态的一种体现,一个接口可以有
很多具体的实现)

 

 

JDBC 连接数据库步骤

  第一步:加载驱动;
  第二步:连接数据库;
  第三步:使用语句操作数据库;
  第四步:关闭数据库连接,释放资源;

在项目里配置数据库驱动

  右击项目 ->Build Path -> Configure Build Path -> Add Exteranl JARs...

  jar包下载地址: 链接:https://pan.baidu.com/s/1i5RLSQp 密码:i9o9

 

 1 package JDBC;
 2 
 3 import java.sql.Connection;
 4 import java.sql.DriverManager;
 5 import java.sql.SQLException;
 6 
 7 public class Demo {
 8     // 数据库地址
 9     private static String dbUrl="jdbc:mysql://localhost:3306/JavaJDBC";
10     // 用户名
11     private static String dbUserName="root";
12     // 密码
13     private static String dbPassword="root";
14     // 驱动名称
15     private static String jdbcName="com.mysql.jdbc.Driver";
16     
17     public static void main(String[] args) {
18         try {
19             Class.forName(jdbcName); //加载注册驱动,进入JVM
20             System.out.println("加载驱动成功!");
21         } catch (ClassNotFoundException e) {
22             // TODO Auto-generated catch block
23             e.printStackTrace();
24             System.out.println("加载驱动失败!");
25         }
26         Connection con=null;
27         try {
28             // 获取数据库连接
29             con=DriverManager.getConnection(dbUrl, dbUserName, dbPassword);
30             System.out.println("获取数据库连接成功!");
31             System.out.println("进行数据库操作!");
32         } catch (SQLException e) {
33             // TODO Auto-generated catch block
34             e.printStackTrace();
35         }finally{
36             try {
37                 con.close();
38             } catch (SQLException e) {
39                 // TODO Auto-generated catch block
40                 e.printStackTrace();
41             }
42         }
43     }
44     
45 }

 

 

 


 

各种驱动的连接方法:
1. MySQL(http://www.mysql.com)     mysql-connector-java-2.0.14-bin.jar ;
  Class.forName( "org.gjt.mm.mysql.Driver" );
  cn = DriverManager.getConnection( "jdbc:mysql://MyDbComputerNameOrIP:3306/myDatabaseName", sUsr, sPwd ); 
2. PostgreSQL(http://www.de.postgresql.org)     pgjdbc2.jar ;
  Class.forName( "org.postgresql.Driver" ); 
  cn = DriverManager.getConnection( "jdbc:postgresql://MyDbComputerNameOrIP/myDatabaseName", sUsr, sPwd ); 
3. Oracle(http://www.oracle.com/ip/deploy/database/oracle9i/) classes12.zip ;
  Class.forName( "oracle.jdbc.driver.OracleDriver" ); 
  cn = DriverManager.getConnection( "jdbc:oracle:thin:MyDbComputerNameOrIP:1521:ORCL", sUsr, sPwd ); 
4. Sybase(http://jtds.sourceforge.net) jconn2.jar ;
  Class.forName( "com.sybase.jdbc2.jdbc.SybDriver" ); 
  cn = DriverManager.getConnection( "jdbc:sybase:Tds:MyDbComputerNameOrIP:2638", sUsr, sPwd ); 
  //(Default-Username/Password: "dba"/"sql") 
5. Microsoft SQLServer(http://jtds.sourceforge.net) ;
  Class.forName( "net.sourceforge.jtds.jdbc.Driver" ); 
  cn = DriverManager.getConnection( "jdbc:jtds:sqlserver://MyDbComputerNameOrIP:1433/master", sUsr, sPwd ); 
6. Microsoft SQLServer(http://www.microsoft.com) ;
  Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver" ); 
  cn = DriverManager.getConnection( "jdbc:microsoft:sqlserver://MyDbComputerNameOrIP:1433;databaseName=master", sUsr, sPwd ); 
7. ODBC 
  Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" ); 
  Connection cn = DriverManager.getConnection( "jdbc:dbc:" + sDsn, sUsr, sPwd ); 
8.DB2 Class.forName("com.ibm.db2.jdbc.net.DB2Driver"); 
  String url="jdbc:db2://192.9.200.108:6789/SAMPLE" 
  cn = DriverManager.getConnection( url, sUsr, sPwd ); 
9.access由于access并不是作为一项服务运行,所以url的方法对他不适用。access可以通过odbc,也可以通过服务器映射路径的形式 找到.mdb文件,参见http://rmijdbc.objectweb.org/Access/access.html 
 


 

 

数据库连接成功!!!

对照python django mysql数据库连接:

(不使用sqllite)

settings.py:

1 DATABASES = {
2     'default': {
3         'ENGINE': 'django.db.backends.mysql',
4         'NAME': "Wxh",
5         'USER': "root",
6         'PASSWORD': "root",
7         'HOST': "127.0.0.1",
8     }
9 }

 然后在models中设置表字段,

makemigrations apps
migrations apps
即可对此数据库建表.
注:从Java6(JDBC4)开始,可以不再加载注册驱动,可直接DriverManager获取连接对象

 

 

 

 

 

 

 

 

 

    

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
7天前
|
SQL IDE Java
Java连接SQL Server数据库的详细操作流程
Java连接SQL Server数据库的详细操作流程
|
12天前
|
Java
java.io.IOException: 远程主机强迫关闭了一个现有的连接
java.io.IOException: 远程主机强迫关闭了一个现有的连接
28 1
|
6天前
|
Java Linux 测试技术
Java sdk连接fabric网络的谜之报错
Java sdk连接fabric网络的谜之报错
12 0
|
1天前
|
SQL Java 数据库连接
Java开发者必知:JDBC连接数据库的“三大法宝”
【6月更文挑战第24天】Java JDBC的三大法宝简化数据库操作:①统一API接口,跨平台与各类数据库交互;②参数化查询,提升效率,防止SQL注入;③事务管理,确保数据一致性。通过这三个核心特性,开发者能更安全高效地处理数据库任务。示例代码展示了如何使用这些功能。
|
2天前
|
Java Android开发
Java Socket编程示例:服务器开启在8080端口监听,接收客户端连接并打印消息。
【6月更文挑战第23天】 Java Socket编程示例:服务器开启在8080端口监听,接收客户端连接并打印消息。客户端连接服务器,发送"Hello, Server!"后关闭。注意Android中需避免主线程进行网络操作。
12 4
|
7天前
|
SQL IDE Java
Java连接SQL Server数据库的详细操作流程
Java连接SQL Server数据库的详细操作流程
|
16天前
|
分布式计算 大数据 Java
MaxCompute产品使用合集之在datawoks的datastudio和odpscmd里执行时间没有问题,但是用jdbc连接大数据计算MaxCompute获取getdate()时间就不对,该怎么办
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
23小时前
|
存储 Java 关系型数据库
高效连接之道:Java连接池原理与最佳实践
【6月更文挑战第24天】Java连接池优化数据库交互,减少资源消耗。原理:预创建连接池,应用程序按需获取和释放连接。最佳实践:选用HikariCP,配置连接参数,如最大连接数、超时时间。通过`getConnection()`获取连接,用完后`close()`归还。应用连接池提升性能和稳定性。
|
23小时前
|
算法 Java 数据库连接
从连接到效率:Java连接池技术详解与应用
【6月更文挑战第24天】Java连接池优化数据库访问,减少连接创建/关闭开销,提升性能和稳定性。它包括连接池管理器、连接池和连接工厂组件。
|
1天前
|
关系型数据库 MySQL Java
连接 MySQL 数据库使用 JDBC
连接 MySQL 数据库使用 JDBC
4 0