Java连接数据库实现增删改;查。
一、首先需要先下载数据库。
数据库的好处
1.持久化数据到本地
2.可以实现结构化查询,方便管理
数据库相关概念
1、DB:数据库,保存一组有组织的数据的容器
2、DBMS:数据库管理系统,又称为数据库软件(产品),用于管理DB中的数据
3、SQL:结构化查询语言,用于和DBMS通信的语言
存储数据的特点
1、将数据放到表中,表再放到库中
2、一个数据库中可以有多个表,每个表都有一个的名字,用来标识自己。表名具有唯一性。
3、表具有一些特性,这些特性定义了数据在表中如何存储,类似java中 “类”的设计。
4、表由列组成,我们也称为字段。所有表都是由一个或多个列组成的,每一列类似java 中的”属性”
5、表中的数据是按行存储的,每一行类似于java中的“对象”。
常见的数据库管理系统(DBMS)
MySQL、Oracle、DB2、SqlServer等
Sql的优点:
1、不是某个特定数据库供应商专有的语言,几乎所有DBMS都支持SQL
2、简单易学
3、虽然简单,但实际上是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作。
SQL语言的分类(也可以其他样式的分,分类大致相同)
DQL(Data Query Language):数据查询语言select DML(Data Manipulate Language):数据操作语言insert 、update、deleteDDL(Data Define Languge):数据定义语言create、drop、alterTCL(Transaction Control Language):事务控制语言commit、rollback
数据库的安装
0、说明
由于MySQL是免费的数据库管理系统,且适用于中小型企业的使用,故在此安装此数据库管理系统。
需要先进行MySQL的安装(可以选择免费版进行安装),接着安装图形化用户界面,这个是收费的,建议支持正版。
1、安装MySQL数据库
概述:1、在官网下载合适版本2、进行安装3、配置环境变量4、通过cmd命令行,检测是否安装成功
官网如下:https://www.mysql.com/
安装具体细节可以参照尚硅谷–>MySQL篇宋红康老师基础篇P7
2、安装图形化用户界面
MySQL图形化管理工具极大地方便了数据库的操作与管理,常用的图形化管理工具有:MySQL Workbench、phpMyAdmin、Navicat Preminum、MySQLDumper、SQLyog、dbeaver、MySQL ODBC Connector。
Mysql图形化管理工具极大地方便了数据库的操作与管理,常用的图形化管理工具有:MySQLWorkbench、phpMyAdmin、Navicat preminum、MySQLDumper、SQLyog、daver、MySQL ODBC连接器。
详细安装课参照尚硅谷–>MySQL篇宋红康老师基础篇P10
二、在JAVA中进行操作建立与数据库的连接
1、在工程类下建一个名为lib的Floder,用于存放jar包
2、前往MySQL官网将自己下载的MySQL对应版本的jar包下载下来粘贴到本lib包下
jar包的获取与MySQL官网:https://downloads.mysql.com/archives/c-j/
下载完成后将文件直接复制粘贴即可导入到lib包下
3、在src项目下建一个名为jdbc.properties(名字自定)的File,用于填写获取连接的四个基本信息。
注:密码需要填写自己安装MySQL时的密码
4、编写连接数据库的代码
package connectionshow;import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties;public class ConnectionTestShow {public void getConnection5() throws Exception {//1.读取配置文件中的4个基本信息InputStream is = ConnectionTestShow.class.getClassLoader().getResourceAsStream("jdbc.properties");Properties pros = new Properties();pros.load(is);String user = pros.getProperty("user");String password = pros.getProperty("password");String url = pros.getProperty("url");String driverClass = pros.getProperty("driverClass");//2.加载驱动Class.forName(driverClass);//3.获取连接Connection conn = DriverManager.getConnection(url, user, password);System.err.println(conn);}
}
若运行结束后下面出现红色字体Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
不用担心,已经成功连接了。原因是自己的java版本过高
三、JAVA已经成功连接数据库,现在编写增删改的代码
建立实现最终的运行类
package connectionshow;import java.sql.Connection;
import java.sql.PreparedStatement;public class PreparedStatementUpdateTest {public void testCommonUpdate() { String sql = "update `order` set order_name = ? where order_id = ?";update(sql,"DD","2");}//这里只写了删除操作,其余操作类似,可以自行补全增和删。//通用的增删改操作public void update(String sql,Object ...args){//sql中占位符的个数与可变形参的长度相同!Connection conn = null;PreparedStatement ps = null;try {//1.获取数据库的连接conn = JDBCUtils.getConnection();//2.预编译sql语句,返回PreparedStatement的实例ps = conn.prepareStatement(sql);//3.填充占位符for(int i = 0;i < args.length;i++) {ps.setObject(i+1, args[i]);}//4.执行ps.execute();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}finally {//5.资源的关闭JDBCUtils.closeResource(conn, ps); }}}
为了增加代码的封装性,将1.获取数据库的连接与5.资源的关闭封装在JDBCUtils类下
package com.atguigu3.util;
/** 操作数据库的工具类* */import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Properties;import com.atguigu1.connection.ConnectionTest;public class JDBCUtils {//获取数据库的连接public static Connection getConnection() throws Exception {// 1.读取配置文件中的4个基本信息InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("jdbc.properties");Properties pros = new Properties();pros.load(is);String user = pros.getProperty("user");String password = pros.getProperty("password");String url = pros.getProperty("url");String driverClass = pros.getProperty("driverClass");// 2.加载驱动Class.forName(driverClass);// 3.获取连接Connection conn = DriverManager.getConnection(url, user, password);return conn;}//关闭连接和Statement的操作public static void closeResource(Connection conn,PreparedStatement ps) {//7.资源的关闭try {if(ps != null)ps.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}try {if(conn != null)conn.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}
}
综上:希望能给予你帮助,也可直接去尚硅谷官网学习MySQL与JDBC课程完成。
尚硅谷官网:http://www.atguigu.com/
Java连接数据库实现增删改;查。相关推荐
- 数据库实验IDEA编程Java程序实现连接数据库以及增删改查JDBC
IDEA编程Java程序实现连接数据库以及增删改查JDBC IDEA的mysql环境配置建议参考该博客:戳我 我用的是java11和此博客的配置略有出入,不过一般的问题都可以百度解决 这是我实验用的数 ...
- 详细解析java JDBC实现增删改查
目录 实现java数据库的增删改查基本步骤 包与类的结构. 一,与数据库建立连接,驱动包导入. 二,创建实体类(与数据库的属性相一致) 三,创建接口 四,sql语句预编译和执行代码 五,test测试 ...
- 基础的java增删改查,Java基础系列(基础):Java使用Cookie增删改查操作!
什么是Cookie? Cookie是由W3C组织提出,最早由NetScape社区发展的一种机制. Cookie是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器请求某个页面时,就会发送这个co ...
- java中的数组增删查改操作,java数组实现增删改查
java 实现动态数组,Java工具类Arrays中不得不知的常用方法,数组实现队列java,java数组实现增删改查 java 增删改查代码 import java.sql.Connection; ...
- java简单的增删改查项目 ATM机
java简单的增删改查项目 login: package atm;import java.util.ArrayList; import java.util.List; import java.util ...
- mysql源生插入数据_php+mysql源生连接数据库和增删改查数据
php+mysql源生连接数据库和增删改查数据 新建一个init.php文件,执行链接数据库.内容如下 header("Content-type: text/html; charset=ut ...
- 基于springmvc、ajax,后台连接数据库的增删改查
前言 前段时间在博客园上找了一个springmvc的例子,照着学了一下,算是对springmvc有了一个初步的了解,打一个基础,下面是链接.(我只看了博客,视频太耗时间了) 博客链接:http://w ...
- java学生管理系统(增删改查存)
说明: 1.期末结课做的简易的学生管理系统(java+mysql+excel+文本): 2.仅实现增删改查,显示,存储等界面操作: 实验报告如下: 1.数据库 2.需要添加额外的jar包(连接数据库或 ...
- java多数做增删改查_Java 实现一个 能够 进行简单的增删改查的 超市管理系统
1. 首先编写一个 Fruitltem 的商品类, 描述 商品的基本信息. 代码如下: 保证详细, 运行的起来, 有什么 问题也可以评论留言. /* * 自定义类, 描述商品信息 * * 商品的属性: ...
- java socket 实现增删改查 + 在线答题小案例
实现效果 (1) 在client端可以实现对数据库的操作(Select,Insert,Update,Delete) (2)数据库中创建一个考试表和学生表,考试表中问题是四项选择题(10道以上),cli ...
最新文章
- IOS常用代码总结 - 第三方库部分
- 12种高效率热门编程语言,你会用几个?
- cdb内存 oracle,【CDB】怎样修改PDB的内存参数
- 在 CAP 中使用 AOP ( Castle.DynamicProxy )
- 统计问题(HDU-2563)
- 清远机器人编程_致敬逆行者:棒棒贝贝为清远援鄂人员子女免费提供一年乐高编程课...
- mysql默认存储引擎的索引结构是_InnoDB引擎的索引和存储结构
- PHP套入表格公式,单元格公式引用的方法
- Flex4_操作XML
- python3解析库BeautifulSoup4
- python2.7.7笔记if in
- matlab常见函数表达式,MATLAB常用函数简介
- Apple苹果EDI案例
- 电脑上的歌曲怎么传到苹果手机上面,怎么把电脑上的歌导入苹果手机
- NUC10 i7 黑苹果Big Sur 11.4 + win10 双系统安装指南
- 关于java反射的一些基础方法说明--Filed
- 百度android离线下载,离线宝app下载-百度离线宝 安卓版v1.0.0.0-PC6安卓网
- 调用有赞云api的前置工作——获取token
- 行泊一体方案「换道超车」,TOP10本土供应商领跑新赛道
- vue导出excel模板