jdbc连接mysql并执行简单的CRUD的步骤:

1.注册驱动(需要抛出/捕获异常)

Class.forName("com.mysql.jdbc.Driver");

2.建立连接需要抛出/捕获异常)

connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/testdb", "root", "Danny2036");

3.创建statement

statement = connection.createStatement();

4.创建sql语句

String sql = "insert into user values(10, \"noname\", 31)";

5.执行sql语句,如果是查询需要用ResultSet接收结果集

int affectrows = statement.executeUpdate(sql);
System.out.println(affectrows);

6.关闭资源

if (statement != null) {
statement.close();
}
if (connection != null) {
connection.close();
}

————————————————————————分割线——————————————————————————————————

最后贴出全部代码(包括insert,selectOne和selectAll)

package com.colin.dao;

import java.sql.*;

public class JdbcTest {

    /**
* 插入语句
* @param id 主键id int
* @param name 姓名 String
* @param age 年龄 int
*/
public static void update(int id, String name, int age) throws SQLException {
long starttime = System.currentTimeMillis(); Connection connection = null;
Statement statement = null;
try {
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/testdb",
"root", "Danny2036");
statement = connection.createStatement();
String sql = "update user set name = \'" + name + "\', age = "+ age +" where id = " + id;
System.out.println(sql);
int affectrows = statement.executeUpdate(sql);
System.out.println(affectrows); } catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (connection != null) {
connection.close();
}
if (statement != null) {
statement.close();
}
} System.out.println(System.currentTimeMillis() - starttime); } public static void selectOne(int id) throws ClassNotFoundException, SQLException { Statement statement = null;
Connection connection = null; try {
// 注册驱动
Class.forName("com.mysql.jdbc.Driver");
// 建立连接
connection = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/testdb",
"root", "Danny2036"
);
// 创建statement
statement = connection.createStatement();
// 定义sql语句
String sql = "SELECT id, name, age FROM user where id = " + id;
// 执行sql语句并获得结果
ResultSet resultSet = statement.executeQuery(sql);
// 遍历结果集
while (resultSet.next()) {
int idResult = (int) resultSet.getInt("id");
String nameResult = (String) resultSet.getString("name");
int ageResult = (int) resultSet.getInt("age"); System.out.println(idResult + "\t" + nameResult + "\t" + ageResult);
}
} finally {
if (statement != null) {
statement.close();
}
if (connection != null) {
connection.close();
}
} } public static void selectAll() throws ClassNotFoundException, SQLException { Statement statement = null;
Connection connection = null; try {
// 注册驱动
Class.forName("com.mysql.jdbc.Driver");
// 建立连接
connection = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/testdb",
"root", "Danny2036"
);
// 创建statement
statement = connection.createStatement();
// 定义sql语句
String sql = "SELECT id, name, age FROM user";
// 执行sql语句并获得结果
ResultSet resultSet = statement.executeQuery(sql);
// 遍历结果集
while (resultSet.next()) {
int idResult = (int) resultSet.getInt("id");
String nameResult = (String) resultSet.getString("name");
int ageResult = (int) resultSet.getInt("age"); System.out.println(idResult + "\t" + nameResult + "\t" + ageResult);
}
} finally {
if (statement != null) {
statement.close();
}
if (connection != null) {
connection.close();
}
} } public static void main(String[] args) throws SQLException, ClassNotFoundException {
selectAll();
} /* // 向上抛异常的方式
public static void main(String[] args)
throws ClassNotFoundException, SQLException { long starttime = System.currentTimeMillis(); Connection connection = null;
Statement statement = null; try {
//注册驱动
Class.forName("com.mysql.jdbc.Driver");
//建立连接
connection = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/testdb",
"root", "Danny2036");
//创建statement
statement = connection.createStatement();
//定义sql
String sql = "insert into user values(10, \"noname\", 31)";
//执行sql,如果是查询需返回结果集
int affectrows = statement.executeUpdate(sql);
System.out.println(affectrows); } finally { //关闭资源
if (statement != null) {
statement.close();
}
if (connection != null) {
connection.close();
} } System.out.println("总执行时间: " + (System.currentTimeMillis() - starttime)); }
*/ /* // 捕获异常的方式
public static void main(String[] args) throws SQLException { long starttime = System.currentTimeMillis(); Statement statement = null;
Connection connection = null;
try {
// 注册驱动
Class.forName("com.mysql.jdbc.Driver");
// 建立连接
connection = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/testdb?useSSL=true",
"root", "Danny2036");
// 创建statement
statement = connection.createStatement();
// 定义sql
String sql = "insert into user values(9, \"ahaha\", 22)";
// 执行sql,如果是查询,遍历结果集
int affectrows = statement.executeUpdate(sql);
System.out.println(affectrows); } catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally { // 关闭资源
if (statement != null) {
statement.close();
}
if (connection != null) {
connection.close();
} } System.out.println("总用时 : " + (System.currentTimeMillis() - starttime)); }
*/ }

——————————————————**********最后附上bean代码***********————————————————————

package com.colin.bean;

public class User {

    private int id;
private String name;
private int age; public User(int id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
} public User(String name, int age) {
this.name = name;
this.age = age;
} public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} @Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
'}';
}
}

jdbc笔记(一) 使用Statement对单表的CRUD操作的更多相关文章

  1. jdbc笔记(二) 使用PreparedStatement对单表的CRUD操作

    首先声明,本文只给出代码,并不是做教程用,如有不便之处,还请各位见谅. PreparedStatement相较于Statement,概括来说,共有三个优势: 1. 代码的可读性和易维护性:Prepar ...

  2. 【Java EE 学习 44】【Hibernate学习第一天】【Hibernate对单表的CRUD操作】

    一.Hibernate简介 1.hibernate是对jdbc的二次开发 2.jdbc没有缓存机制,但是hibernate有. 3.hibernate的有点和缺点 (1)优点:有缓存,而且是二级缓存: ...

  3. 6.单表的CRUD操作

    1.插入后用新id初始化被插入对象 <insert id="insertStudentCatchId"> insert into student (age,name,s ...

  4. SQLServer学习笔记<>.基础知识,一些基本命令,单表查询(null top用法,with ties附加属性,over开窗函数),排名函数

    Sqlserver基础知识 (1)创建数据库 创建数据库有两种方式,手动创建和编写sql脚本创建,在这里我采用脚本的方式创建一个名称为TSQLFundamentals2008的数据库.脚本如下:   ...

  5. Django学习笔记(10)——Book单表的增删改查页面

    一,项目题目:Book单表的增删改查页面 该项目主要练习使用Django开发一个Book单表的增删改查页面,通过这个项目巩固自己这段时间学习Django知识. 二,项目需求: 开发一个简单的Book增 ...

  6. MyBatis-Plus学习笔记(1):环境搭建以及基本的CRUD操作

    MyBatis-Plus是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,使用MyBatis-Plus时,不会影响原来Mybatis方式的使用. SpringBoot+M ...

  7. Oracle触发器实现监控某表的CRUD操作

    前提:请用sys用户dba权限登录 1.创建一个表来存储操作日志 create table trig_sql( LT DATE not null primary key, SID NUMBER, SE ...

  8. 通过jdbc完成单表的curd操作以及对JDBCUtils的封装

    概述:jdbc是oracle公司制定的一套规范(一套接口),驱动是jdbc的实现类,由数据库厂商提供.所以我们可以通过一套规范实现对不同的数据库操作(多态) jdbc的作用:连接数据库,发送sql语句 ...

  9. JDBC简单增删改查实现(单表)

    0.准备工作 开发工具: MySQL数据库, intelliJ IDEA2017. 准备jar包: mysql-connector-java-5.1.28-bin.jar(其他均可) 1. 数据库数据 ...

随机推荐

  1. SQL - 1.区分login、user、schema和role

        Login Login 是Server一级的概念,表示登录Server的凭证,比如在Server_A上有一个数据库DA,那么想要访问数据库DA,第一步要做的事情就是先登录到Hosting该数据 ...

  2. debug_backtrace

    <?php one(); function one() { two(); } function two() { three(); } function three() { print_r( de ...

  3. Appium自动化测试之Appium的安装与配置

    Appium自动化测试- Appium环境的安装与配置Appium中文文档: https://github.com/appium/appium/tree/master/docs/cn Appium的安 ...

  4. ES6 Symbol数据类型和set-map 数据结构

    Symbol数据类型 ES6新加的数据类型,提供一个独一无二的值 { let a1 = Symbol() ;let a2 = Symbol() } //声明 { let a3 = Symbol.for ...

  5. ceph的正常卸载与非正常卸载

    一.ceph的正常卸载与非正常卸载 一.正常卸载(通过ceph-deploy卸载) 环境已安装ceph-deploy 1.查看ceph-deploy的帮助信息 [cephde@controller03 ...

  6. jenkins深入学习

    一.jenkins深入学习 一.jenkins项目配置 1.Jenkins Gitlab持续集成打包平台搭建 http://blog.csdn.net/zgzhaobo/article/details ...

  7. linux 查看磁盘文件大小

    du -sh : 查看当前目录总共占的容量.而不单独列出各子项占用的容量 du -lh --max-depth=1 : 查看当前目录下一级子文件和子目录占用的磁盘容量 df -h 查看整个服务器的磁盘 ...

  8. pwn学习日记Day1 基础知识积累

    ida / od 窗口(针对od操作) 反汇编窗口:显示被调试程序的反汇编代码,标题栏上的地址.HEX 数据.反汇编.注释可以通过在窗口中右击出现的菜单 界面选项->隐藏标题 或 显示标题 来进 ...

  9. STM32_DAC之软件触发(Trigger)

    stm32_DAC可以用来输出固定的电压值,有些时候需要按键可调输出的电压值.其中一种方法是使用外部中断EXTI9, 另外一种方法就是使用软件触发. 如果将DAC_InitTypeDef.DAC_Tr ...

  10. 又见thrift异常之TApplicationException: Internal error processing..

    客户端调用获取商户提现产品手续费的接口,出现异常org.apache.thrift.TApplicationException: Internal error processing getMercha ...