[零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之二

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:
实例:使用JDBC连接MySQL数据库
只要直接使用JDBC连接,则在连接的时候必须输入用户名和密码。
现在我们安装一下MySQL5.0哈~
image
image
image
image
image
image
image
image
image
image
image
image
image
数据库的连接端口为3306
image
指定编码为GBK
image
是否在windows中自动运行,选择的是否,这样系统启动会快点哈~ 
把mysql的所有命令加入到path路径之中。
image 
设置MySQL密码,Mysql中用户名是root,密码设置为mysqladmin
image 
image
MySQL安装完后,现在就可以使用它了哈~
连接MySQL数据库: mysql -uroot -pmysqladmin
image
建立一个51cto数据库
create database 51cto;
image
创建一张表,我们写一个建表语句哈~
image
image
image
CREATE  TABLE person(    
id  INT  PRIMARY  KEY  NOT  NULL AUTO_INCREMENT ,    
name  VARCHAR(20)  NOT  NULL ,    
age  INT    
) ;
image
注意: 
之前使用的连接都是JDK本身提供的(JDBC-ODBC),那么现在使用mysql数据库,则数据库的驱动程序只能从网上单独下载。驱动程序下载之后,后缀是 *.jar,那么我们可以直接此jar包设置到classpath路径之中。
image
image
此处是把mysql 驱动程序设置到classpath之中,这样就可以直接在程序中使用mysql的数据库。 
注意: 
· mysql驱动程序的路径: org.gjt.mm.mysql.Driver 
· 连接地址:jdbc:mysql://IP地址:3306/数据库名称(jdbc:mysql//localhost:3306/51cto)
image
JDBCMySQL代码:
package com.redking.jdbc.demo;    
import java.sql.Connection;    
import java.sql.DriverManager;    
import java.sql.SQLException;    
import java.sql.Statement;    
public  class JDBCMySQL {    
         public  static  final String DBDRIVER =  "org.gjt.mm.mysql.Driver";    
         public  static  final String DBURL =  "jdbc:mysql://localhost:3306/51cto";    
        //现在使用的是mysql数据库,是直接连接的,所以此处必须有用户名和密码    
        public static final String USERNAME = "root";    
        public static final String PASSWORD = "mysqladmin";    
        public static void main(String[] args) {    
                //数据库连接对象    
                Connection conn = null;    
                //数据库操作对象    
                Statement stmt = null;    
                //1、加载驱动程序    
                try {    
                        Class.forName(DBDRIVER);    
                } catch (ClassNotFoundException e) {    
                        e.printStackTrace();    
                }    
                //2、连接数据库    
                //通过连接管理器连接数据库    
                try {    
                        //在连接的时候直接输入用户名和密码才可以连接    
                        conn = DriverManager.getConnection(DBURL,USERNAME,PASSWORD);    
                } catch (SQLException e) {    
                        e.printStackTrace();    
                }    
                //3、向数据库中插入一条数据    
                String sql = "INSERT INTO person(name,age) VALUES ('Michael',20)";    
                try {    
                        stmt = conn.createStatement();    
                } catch (SQLException e) {    
                        e.printStackTrace();    
                }    
                //4、执行语句    
                try {    
                        stmt.executeUpdate(sql);    
                } catch (SQLException e) {    
                        e.printStackTrace();    
                }    
                //5、关闭操作,步骤相反哈~    
                try {    
                        stmt.close();    
                        conn.close();    
                } catch (SQLException e) {    
                        e.printStackTrace();    
                }    
        }    
}
执行看下效果:
image
以后如果要跟数据库连接实际上上面的的代码都是固定的,所以不同的数据库只是驱动程序和连接地址,包括用户名和密码不同,其他的操作就都一样。
注意点: 
一般在mysql数据库中会出现乱码,出现乱码主要是之前没有设置好系统编码。 
此时只能按以下步骤操作: 
· 打开mysql安装程序中的my.ini文件。 
|- default-character-set=gbk 
|- default-character-set=gbk 
|- 两个地方的编码同时修改即可,一般中文是为GBK
image
· 需要重新启动mysql服务,因为重新启动之后才能把新的配置文件读取进来。 
|- 停止mysql服务:net stop mysql 
|- 启动mysql服务:net start mysql
image
image 
· 删除掉原有的数据库 
· 重新建立
 
这样一系列步骤之后编码就解决了,不会存在乱码问题了哈~
总结 
1、可以使用mysql数据库进行完整的基于数据库的程序设计了 
· 增加数据:执行SQL语句(INSERT INTO 表名称(字段…) VALUES ()) 
· 修改数据:UPDATE 表名称 SET 字段=新值,… WHERE 条件 
· 删除数据:DELETE FROM 表名称 WHERE 条件 
以上的这些标准SQL语句都是可以直接在数据库中执行的 
2、掌握JDBC以下几个核心接口 
· Connection:数据库连接 
· Statement:数据库操作(比较少用) 
|- PreapredStatment:预处理(比较常用) 
· ResultSet:取得返回的结果 
· JDBC 2.0之后提供的一个最主要的新功能:批处理,要么同时成功,要么同时失败。
额外内容: 
JDBC 2.0还有很多其他的特性,滚动结果集。。等,这些操作如果真要使了,则程序肯定死。
注意点: 
数据库设计属于JAVA门面设计模式。 
可以理解为一环套一环:想出去游玩: 
先上车 --> 车负责给你拉到游乐园 --> 玩了 
面试中: 
往往会直接写出一个数据库的插入数据的代码。

#############################################










本文转自redking51CTO博客,原文链接:http://blog.51cto.com/redking/137127,如需转载请自行联系原作者

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3天前
|
Cloud Native 关系型数据库 分布式数据库
阿里云牵手海亮科技,共建“教育科技数据库创新应用中心”
海亮科技选择引入阿里云PolarDB开源分布式版(PolarDB for Xscale)数据库,不仅能解决海亮科技数据库业务中面临的可靠性、稳定性问题,也为海亮科技业务的高速发展提供了更好的灵活性和可扩展性。
|
3天前
|
存储 Java 程序员
优化Java多线程应用:是创建Thread对象直接调用start()方法?还是用个变量调用?
这篇文章探讨了Java中两种创建和启动线程的方法,并分析了它们的区别。作者建议直接调用 `Thread` 对象的 `start()` 方法,而非保持强引用,以避免内存泄漏、简化线程生命周期管理,并减少不必要的线程控制。文章详细解释了这种方法在使用 `ThreadLocal` 时的优势,并提供了代码示例。作者洛小豆,文章来源于稀土掘金。
|
5天前
|
数据采集 存储 前端开发
Java爬虫开发:Jsoup库在图片URL提取中的实战应用
Java爬虫开发:Jsoup库在图片URL提取中的实战应用
|
2天前
|
关系型数据库 Java MySQL
"解锁Java Web传奇之旅:从JDK1.8到Tomcat,再到MariaDB,一场跨越数据库的冒险安装盛宴,挑战你的技术极限!"
【9月更文挑战第6天】在Linux环境下安装JDK 1.8、Tomcat和MariaDB是搭建Java Web应用的关键步骤。本文详细介绍了使用apt-get安装OpenJDK 1.8、下载并配置Tomcat,以及安装和安全设置MariaDB(MySQL的开源分支)的方法。通过这些步骤,您可以快速构建一个稳定、高效的开发和部署环境,并验证各组件是否正确安装和运行。这为您的Java Web应用提供了一个坚实的基础。
9 0
|
7天前
|
存储 C# 关系型数据库
“云端融合:WPF应用无缝对接Azure与AWS——从Blob存储到RDS数据库,全面解析跨平台云服务集成的最佳实践”
【8月更文挑战第31天】本文探讨了如何将Windows Presentation Foundation(WPF)应用与Microsoft Azure和Amazon Web Services(AWS)两大主流云平台无缝集成。通过具体示例代码展示了如何利用Azure Blob Storage存储非结构化数据、Azure Cosmos DB进行分布式数据库操作;同时介绍了如何借助Amazon S3实现大规模数据存储及通过Amazon RDS简化数据库管理。这不仅提升了WPF应用的可扩展性和可用性,还降低了基础设施成本。
24 0
|
7天前
|
数据库 C# 开发者
WPF开发者必读:揭秘ADO.NET与Entity Framework数据库交互秘籍,轻松实现企业级应用!
【8月更文挑战第31天】在现代软件开发中,WPF 与数据库的交互对于构建企业级应用至关重要。本文介绍了如何利用 ADO.NET 和 Entity Framework 在 WPF 应用中访问和操作数据库。ADO.NET 是 .NET Framework 中用于访问各类数据库(如 SQL Server、MySQL 等)的类库;Entity Framework 则是一种 ORM 框架,支持面向对象的数据操作。文章通过示例展示了如何在 WPF 应用中集成这两种技术,提高开发效率。
16 0
|
7天前
|
NoSQL 关系型数据库 MySQL
|
7天前
|
开发者 存储 API
Xamarin 开发者的社区资源概览:从官方文档到GitHub示例,全面探索提升开发技能与解决问题的多元化渠道与实用工具
【8月更文挑战第31天】Xamarin 开发者社区资源概览旨在提升开发效率与解决问题,涵盖官方文档、社区论坛、GitHub 项目等。官方文档详尽,涵盖 Xamarin.Forms 使用、性能优化等;社区论坛供交流心得;GitHub 提供示例代码。此外,第三方博客、视频教程及 Xamarin University 等资源也丰富多样,适合各阶段开发者学习与提升。通过综合利用这些资源,开发者可不断进步,应对技术挑战。
20 0
|
7天前
|
存储 数据管理 数据库
|
7天前
|
Java Spring 开发者
Java Web开发新潮流:Vaadin与Spring Boot强强联手,打造高效便捷的应用体验!
【8月更文挑战第31天】《Vaadin与Spring Boot集成:最佳实践指南》介绍了如何结合Vaadin和Spring Boot的优势进行高效Java Web开发。文章首先概述了集成的基本步骤,包括引入依赖和配置自动功能,然后通过示例展示了如何创建和使用Vaadin组件。相较于传统框架,这种集成方式简化了配置、提升了开发效率并便于部署。尽管可能存在性能和学习曲线方面的挑战,但合理的框架组合能显著提升应用开发的质量和速度。
16 0
下一篇
DDNS