jdbc mysql对象编程_原生Jdbc操作Mysql数据库开发步骤

原生Jdbc操作Mysql数据库开发步骤

原生的Jdbc就是指,不使用任何框架,仅用java.sql包下的方法实现数据库查询等的操作。

下面是开发步骤:

1、导入数据库驱动包

-mysql-connector-java-5.1.7-bin.jar

2、准备参数

-url ()   链接url格式:(jdbc:mysql://主机名:端口号/数据库名字)

通常我们会在链接后添加编码方式: useUnicode=true&characterEncoding=UTF-8

-username 数据库访问的用户名

-password 数据库访问密码

-driver com.mysql.jdbc.Driver  内容是数据库驱动包中Driver类的全类名

3、加载数据库驱动   (使用反射的方式)

Class.forName(driver)

4、通过数据库驱动获取数据库链接

Connection conn = DriverManager.getConnection(url,username,passworrd);

5、编写sql语句

增加 -  INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

删除 -  DELETE FROM 表名称 WHERE 列名称 = 值

更新 -  UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

查询 -  SELECT 列名称 FROM 表名

6、通过链接获取执行对象

包含Statement 和 PrepareStatement ,由于PrepareStatement是预编译执行,且效率高、还能防止sql注入,因此在这只使用PrepareStatement讲解。

prepareStatement = conn.prepareStatement(sql);

若sql语句中有占位符“?”,则需要进行传入参数

prepareStatement.setObject(i,object);   //其中i从1开始

7、执行sql语句

若为增删改操作,使用executeUpdate()方法,返回值为受影响行数,为int类型。

int result = pStatement.executeUpdate();

若为查询操作,使用executeQuery()方法,返回值将是一个结果集,因此需要遍历出结果集。

ResultSet resultSet = pStatement.executeQuery();

遍历resultSet

while(resultSet.next()){

Object object = resultSet.getObject(“表单列或者列号”);

}

8、关闭资源和连接

倒序关闭,先关闭resultSet,再关闭prepareStatement,再关闭conn.

以下是原生操作的代码,以查询为例:

private static final String URL = "jdbc:mysql://127.0.0.1:3306/test";

private static final String USERNAME = "root";

private static final String UPASSWORD = "123456";

private static final String UDRIVER = "com.mysql.jdbc.Driver";

public static void main(String[] args){

Connection conn = null;

PreparedStatement pStatement = null;

ResultSet resultSet = null;

/*

* 编写sql语句

* 假设test表中只有int类型的id varcher类型的uname两列

* ? 为通配符,留作参数传入

*/

String sql ="SELECT id,uname FROM test WHERE id > ?";

try {

//加载驱动

Class.forName(UDRIVER);

//获取链接

conn = DriverManager.getConnection(URL, USERNAME, UPASSWORD);

//获取链接执行对象

pStatement = conn.prepareStatement(sql);

/*

* 将参数传入

* 此处根据参数类型的不同选用不同的方法传入

* ###其中第一个参数parameterIndex是从1开始计数##

*/

pStatement.setInt(1, 3);

//执行Sql语句

resultSet = pStatement.executeQuery();

//遍历结果集

while(resultSet.next()){

Integer id = resultSet.getInt("id");

String uname = resultSet.getString("uname");

System.out.println("用户ID为 : "+id+",用户名为: "+uname);

}

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} finally {

//逆序关闭资源

try {

if(resultSet!=null){

resultSet.close();

}

if(pStatement!=null){

pStatement.close();

}

if(conn!=null){

conn.close();

}

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

原生jdbc操作mysql数据库详解

首先给大家说一下使用JDBC链接数据库的步骤 1.加载链接数据库驱动 2.建立数据库链接 3.创建数据库操作对象 4.编写sql语句,执行sql语句 5.获取结果集 6.释放资源 我这边采用的是mav ...

JDBC操作MySQL数据库案例

JDBC操作MySQL数据库案例 import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prepared ...

Java使用Jdbc操作MySql数据库(一)

这个示例是Java操作MySql的基本方法. 在这个示例之前,要安装好MySql,并且配置好账户密码,创建一个logininfo数据库,在数据库中创建userinfo数据表.并且在表中添加示例数据. ...

java数据库 JDBC操作MySQL数据库常用API 部门表和员工表 创建表 添加数据 查询数据

package com.swift.department; import java.sql.Connection; import java.sql.PreparedStatement; import ...

使用JDBC操作MySQL数据库

一.JDBC简介 JDBC(Java DataBase Connectivity)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一的访问,它由一组用Java语言编写的类和接口组 ...

Golang原生sql操作Mysql数据库增删改查

Golang要操作mysql数据库,首先需要在当期系统配置GOPATH,因为需要使用go get命令把驱动包下载到GOPATH下使用. 首先配置好你的GOPATH,执行以下命令,下载安装mysql驱动 ...

Python操作MySQL数据库(步骤教程)

我们经常需要将大量数据保存起来以备后续使用,数据库是一个很好的解决方案.在众多数据库中,MySQL数据库算是入门比较简单.语法比较简单,同时也比较实用的一个.在这篇博客中,将以MySQL数据库为例,介 ...

Java第三十五天,用JDBC操作MySQL数据库(一),基础入门

一.JDBC的概念 Java DataBase Connectivity 从字面意思我们也不难理解,就是用Java语言连接数据库的意思 JDBC定义了Java语言操作所有关系型数据库的规则(接口).即 ...

JavaWeb用Jdbc操作MySql数据库(一)

一.添加开发包.在JavaWeb中用jdbc操作数据库,使用方法与java一样,但是在处理开发包的问题上有点差别.JavaWeb不能将mysql-connector-java-5.1.7-bin.ja ...

随机推荐

XML序列化中含有List的情况,序列化到根节点下一层

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.X ...

《Linux运维趋势》2010-2013年全部期刊下载

2010.rar 2011_上.rar 2011_下.rar 2 ...

响应式web之媒体查询(一)

HTML4和css2目前支持为不用的媒体类型设定专有的样式,如,一个页面在屏幕上时使用无衬线字体,而在打印时使用衬线字体.screen和print是两种已定义的媒体类型.媒体查询让样式表有更强的针对性 ...

CFRound#379(div2)

题目链接:http://codeforces.com/contest/734 A:SB题. #include #include #includ ...

erlang四大behaviour之三-gen_event

来源:http://www.cnblogs.com/puputu/articles/1689623.html 1. 事件处理规则 在OTP中,事件管理器是一个事件可以发送到的命名对象,一个事件可以是一 ...

Java jar包启动脚本

#!/bin/bash APP_HOME=/wdcloud/app/rps/rps-module-admin APP_JAR=rps-module-admin-*.jar APP_PIDS=$(ps ...

[Objective-C语言教程]预处理器(18)

Objective-C预处理器不是编译器的一部分,而是编译过程中的一个单独步骤. 简单来说,Objective-C预处理器只是一个文本替换工具,它指示编译器在实际编译之前进行必要的预处理. 我们将Ob ...

C# 设计模式速记

设计模式分三种类型,共23种: 行为型:规定了对象之间交互的方式:行为模式定义系统内对象间的通信,以及复杂程序中的流程控制. 结构型:规定了如何组织类和对象:结构型模式可以将一组对象组合成更大的结构, ...

SpringBoot+Swagger2 整合

SpringBoot+Swagger2四步整合 第一步:添加相关依赖 org.springframework.boot

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值