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

简介: 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获取连接对象

 

 

 

 

 

 

 

 

 

    

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
Java 数据库连接 数据库
【YashanDB知识库】WAS配置YashanDB JDBC连接
【YashanDB知识库】WAS配置YashanDB JDBC连接
|
安全 Java 数据库连接
gbase8a JDBC常用特性-Kerberos认证方式连接
JDBC常用特性-Kerberos认证方式连接
|
Java 数据库连接 网络安全
JDBC常用特性-SSH隧道连接
JDBC常用特性-SSH隧道连接
|
SQL Java 关系型数据库
Java连接MySQL数据库环境设置指南
请注意,在实际部署时应该避免将敏感信息(如用户名和密码)硬编码在源码文件里面;应该使用配置文件或者环境变量等更为安全可靠地方式管理这些信息。此外,在处理大量数据时考虑使用PreparedStatement而不是Statement可以提高性能并防止SQL注入攻击;同时也要注意正确处理异常情况,并且确保所有打开过得资源都被正确关闭释放掉以防止内存泄漏等问题发生。
546 13
|
消息中间件 存储 NoSQL
java连接redis和基础操作命令
通过以上内容,您可以掌握在Java中连接Redis以及进行基础操作的基本方法,进而在实际项目中灵活应用。
839 30
|
编解码 Oracle Java
【YashanDB知识库】YashanDB的JDBC/OCI驱动如何设置字符编码
YashanDB的JDBC驱动无需用户指定字符编码,能自动根据JVM和服务端字符集进行编解码,避免乱码问题。而OCI接口则需通过OCIEnvNlsCreate函数指定客户端字符集,目前仅支持852(ZHS16GBK)和871(UTF8)。用户在使用JDBC时无需关心字符集设置,但在使用OCI时需注意正确配置编码格式。
|
Java Linux 数据库
java连接kerberos用户认证
java连接kerberos用户认证
584 22
|
存储 IDE Java
java设置栈内存大小
在Java应用中合理设置栈内存大小是确保程序稳定性和性能的重要措施。通过JVM参数 `-Xss`,可以灵活调整栈内存大小,以适应不同的应用场景。本文介绍了设置栈内存大小的方法、应用场景和注意事项,希望能帮助开发者更好地管理Java应用的内存资源。
1049 4
|
Java Linux iOS开发
如何配置 Java 环境变量:设置 JAVA_HOME 和 PATH
本文详细介绍如何在Windows和Linux/macOS系统上配置Java环境变量。
22634 12
|
数据采集 算法 Java
如何在Java爬虫中设置动态延迟以避免API限制
如何在Java爬虫中设置动态延迟以避免API限制