原生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操作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 ...
随机推荐
- ES6——块级作用域
前面的话 过去,javascript缺乏块级作用域,var声明时的声明提升.属性变量等行为让人困惑.ES6的新语法可以帮助我们更好地控制作用域.本文将详细介绍ES6新引入的块级作用域绑定机制.let和 ...
- Hybris商品图片导入与压缩有关的配置
1. 在电脑上安装 ImageMagick 软件(windows平台还需要安装VC++),下载路径:http://www.imagemagick.org/script/download.php#w ...
- 【javascript】继承
1. js 其实是一个非面向对象的语言,通过对象的深浅复制完成继承 2. 继承方法 继承的方法有两种 1)prototype 原型模式 举个例子 var Animal = function () { ...
- ajax分页效果、分类联动、搜索功能
一.使用smarty+ajax+php实现无刷新分页效果 效果图 <!DOCTYPE html> <html lang="en"> <head> ...
- echarts_部分图表配置_dataZoom精确控制显示数据数量
echarts为我们提供了dataZoom组件,当数据过多时就有了它的用武之地,业务场景:数据返回100调可是为了前端显示效果默认只显示20条,其他数据由dataZoom控制显示隐藏: functio ...
- Linux下 两台机器文件/文件夹 相互拷贝
Linux下 两台机器文件/文件夹 相互拷贝 设有两台机器 :A:*.101及 B:*.102. 把A下的.temp/var/a.txt拷贝到B机器的/text/目录下: 进入B机器:scp root ...
- Java基础之TCP与UDP
OSI 7层参考模型 物理层 --> 数据链路层 --> 网络层 --> 传输层 --> 会话层 --> 表示层 --> 应用层 按此顺序称为拆包,反之为封包. T ...
- JS获取字符串长度(区分中英文)
JS获取字符串长度(区分中英文) 中文算2个字,英文一个. function getStrLength(str) { var cArr = str.match(/[^\x00-\xff]/i ...
- EXT中导出表格中的数据到Excel
{ itemId: 'excel', text: '导出', iconCls: 'btnExportExcel', disabled: false, handler: function () { // ...
- 关于"软件评测师"
参考书目 <软件评测师考试考点分析与真题详解>http://item.taobao.com/item.htm?spm=a1z09.2.9.82.qx67QK&id=18924026 ...