JDBC编程之数据更新
-------------------siwuxie095
JDBC 编程之数据更新
首先下载 MySQL 的 JDBC 驱动,下载链接:
https://dev.mysql.com/downloads/connector/j/

mysql-connector-java-5.1.41.zip
解压后一览:

工程名:JDBCTest
包名:com.siwuxie095.jdbc
类名:JDBCTestX.java
打开资源管理器,在工程 JDBCTest 文件夹下,创建一个文件夹:lib,
在其中放入:mysql-connector-java-5.1.41-bin.jar
工程结构目录如下:

选择
mysql-connector-java-5.1.41-bin.jar,右键->Build Path->Add to Build Path
此时,工程结构目录一览:

代码:
|
package com.siwuxie095.jdbc; import java.sql.DriverManager; import java.sql.Connection; import java.sql.Statement; /** * 下面的方法实际上将数据库信息硬编码到java代码中,不可取 * * @author siwux * */ public class JDBCTestX {
/** * jdbc编程流程: * 加载驱动 * 打开连接 * 执行查询 * 处理结果 * 清理环境 */
//getConnection() 获取数据库连接 public static Connection getConnection() {
Connection conn=null;
try {
Class.forName("com.mysql.jdbc.Driver"); conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/sims_db","root","8888");
} catch (Exception e) { e.printStackTrace(); System.err.println("加载数据库失败..."); } return conn; }
public static
Connection conn=getConnection();
try {
String sql="insert into stu_password(stu_id,stu_pwd)"+ "values('005','005')";
Statement st=conn.createStatement();
//executeUpdate() 可以执行 DML 语句中的 insert delete update //返回影响的记录条数 int count=st.executeUpdate(sql); System.out.println("向stu_password表中插入了 "+count+" 条记录"); conn.close();
} catch (Exception e) { e.printStackTrace(); } }
public static
Connection conn=getConnection();
try {
String sql="update stu_password set Stu_pwd='000' where stu_id='001'";
Statement st=conn.createStatement();
int count=st.executeUpdate(sql); System.out.println("向stu_password表中更新了 "+count+" 条记录"); conn.close();
} catch (Exception e) { e.printStackTrace(); } }
public static
Connection conn=getConnection();
try {
String sql="delete from Stu_password where stu_id='001'";
Statement st=conn.createStatement();
int count=st.executeUpdate(sql); System.out.println("从stu_password表中删除了 "+count+" 条记录"); conn.close();
} catch (Exception e) { e.printStackTrace(); } }
public static
Connection conn=getConnection();
try {
String sql="delete from stu_info where stu_id='001'";
Statement st=conn.createStatement();
int count=st.executeUpdate(sql); System.out.println("从stu_info表中删除了 "+count+" 条记录"); conn.close();
} catch (Exception e) { e.printStackTrace(); } }
public static
//insert(); //update(); //delete(); deleteX(); }
} |
注意:高版本的
JDBC 驱动需要指明是否进行 SSL 连接

即
加上:?characterEncoding=utf8&useSSL=false
或:

即
加上:?useUnicode=true&characterEncoding=utf-8&useSSL=false
总结 JDBC 编程流程:
(1)加载驱动:加载
JDBC 驱动程序
(2)打开连接:打开一个数据库连接
(3)执行查询:创建一个会话对象,执行增删改查等操作
(4)处理结果:处理查询的结果
(5)清理环境:关闭会话,关闭连接等操作,完成资源的清理工作
关于
数据库的准备,详见本人博客的分类:来一杯Java,
里面的
JDBC编程之数据准备
本人博客(任选其一)链接:
https://www.baidu.com/s?ie=UTF-8&wd=siwuxie095
【made by siwuxie095】
JDBC编程之数据更新的更多相关文章
- 单独使用jdbc编程问题总结(一)
在学习Mybatis之前,我们先来回顾JDBC编程的相关知识.在此基础上深入的学习Mybatis框架.如有错误,敬请指正. (一)首先我们既然要使用jdbc,当然是要操作数据库了.创建一个名为:myb ...
- 浅谈JDBC编程
一.概述 1.为什么要用JDBC 数据库是程序不可或缺的一部分,每一个网站和服务器的建设都需要数据库.对于大多数应用程序员(此处不包含数据库开发人员)来说,我们更多的不是在DBMS中对数据库进行操纵, ...
- 02Mybatis_原生态jdbc编程中的问题总结——从而引生出为什么要用Mybatis
我们先用jdbc去编写一个例子: 第一步:建表 /* SQLyog v10.2 MySQL - 5.1.72-community : Database - mybatis ************** ...
- JDBC编程的方式
JDBC编程的方式,我们以一个简单的查询为例,使用JDBC编程,如下: 从上面可以看出JDBC编程一般要如下步骤: 1. 加载数据库驱动 2. 创建并获取数据库连接 3. 创建jdbc stateme ...
- JAVA基础知识之JDBC——编程步骤及执行SQL
JDBC编程步骤 下面以mysql数据库为例, 1.加载驱动 首先需要下载数据库的驱动jar文件,并且在eclipse包中加入到class path中去, 例如mysql的驱动文件 mysql-con ...
- JDBC编程 之 增删改查
JDBC编程之数据增加,更改,查询,删除 package com.good.jdbc; import java.sql.Connection; import java.sql.DriverManage ...
- JDBC编程步骤
JDBC编程步骤 加载数据库驱动. 通常使用Class类的forName()静态方法来加载驱动. Class.forName(driverClass) dirverClass: mysql---Cla ...
- 【Java】JDBC编程套路
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5847020.html 学习Java开发,一个必须掌握的知识点,就是数据库操作.当程序需要用到的数据达到一定程度 ...
- 用JDBC编程的执行时错误及其解决大全
用JDBC编程的执行时错误及其解决 用JDBC编程的执行时错误及其解决 源码: .java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlser ...
随机推荐
- c的详细学习(8)指针学习(二)
(1)指针与二维数组 一个数组的名字代表该数组的的首地址,是地址常量(作为形式参数的数组名除外),这一规定对二维数组或更高维数组同样适用. 在c语言中定义的任何一个二维数组实际上都可以看做是一个一维数 ...
- Data Structure Binary Tree: Construct Full Binary Tree from given preorder and postorder traversals
http://www.geeksforgeeks.org/full-and-complete-binary-tree-from-given-preorder-and-postorder-travers ...
- 【leetcode刷题笔记】3Sum
Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all un ...
- 【leetcode刷题笔记】Divide Two Integers
Divide two integers without using multiplication, division and mod operator. 题解:要求不用乘除和取模运算实现两个数的除法. ...
- Ansible 实战之部署Web架构
WEB架构(ubuntu 16.04): Proxy -- WebServer(Nginx+PHP+Django) -- Nosql -- MariaDB 一. 定义Inventory [proxy] ...
- QT下的QProcess调用外部程序
头文件widget.h #ifndef WIDGET_H #define WIDGET_H #include <QWidget> namespace Ui { class Widget; ...
- EntityFramework 学习 一 Querying with EDM 从EDM查询
前面我们已经创建EDM.DbContext和实体类,接下来我们学习不同的查询实体方法,转变为数据库的SQL查询 Entity Framework支持3种查询方式:1)LINQ to Entities ...
- 解析XML(3)
SAXReader reader = new SAXReader(); Document doc = reader.read(new FileInputStream("emplist.xml ...
- 代码题(3)— 最小的k个数、数组中的第K个最大元素、前K个高频元素
1.题目:输入n个整数,找出其中最小的K个数. 例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4. 快排思路(掌握): class Solution { public ...
- 十三 Django框架,CSRF跨站请求伪造
全局CSRF 如果要启用防止CSRF跨站请求伪造,就需要在中间件开启CSRF #中间件 MIDDLEWARE = [ 'django.middleware.security.SecurityMidd ...