原生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 ...
随机推荐
- Hibernate 实体映射类的状态值自动转换
经常会遇到有些字段在数据库只是一个 byte 值,但是取出数据后需要转换为真实的状态名称. 举个栗子:一个图书管理系统,书籍有一个属性 stat(借出状态),在库中只需要保存一个 0/1/2/3/4 ...
- python之基本内容
这里提供在使用python进行开发中常使用到的方法技巧,如有不对欢迎批评指正. 要点:开发中类.变量特性查询,类型就是类,断言的使用,深浅复制判断等 python脚本文件是使用UTF-8编码的,所以在 ...
- (转)Memcached 在windows下的java使用
Memcached 在windows下的java使用 研究这个东东主要是为了解决在教务管理中选课系统的大并发情况下数据库频繁读写造成速度慢的问题,但要使用WEB服务器的内存,是不是可靠还需要验证, ...
- 如何将 Microsoft Bot Framework 机器人部署以及网页应用
<Bot Framework>是微软开发的一款可让任何人制作自己的聊天机器人.该工具可以理解自然语言并对图片进行分析等,初期开放了 22 个可集成到应用的 API. 首先说到Bot大家的第 ...
- 64位系统下8G内存仅使用到4G问题的解决方法
笔记本:联想E46G 当前bios版本:25CN32WW 内存:DDR3 133 4G × 2 问题:bios信息显示8G,win7和ubuntu 在64位下使用情况仅4G 准备工作1:bios版本和 ...
- 百度百科Tooltip的实现--原生js的应用
我们在浏览百度百科时,不难发现提示框的存在,如下图: 实现如下: 1.HTML代码部分 <!DOCTYPE html><html lang="en">< ...
- PocScan的搭建与使用
安装Docker, 然后下载镜像 $ sudo curl -sSL https://get.daocloud.io/docker | sh $ sudo systemctl start docker ...
- thymeleaf中的日期格式化
本篇介绍些thymeleaf中的日期格式化的方法: 1.用#dates.format来解决: <span th:text="${#dates.format(user.date, 'yy ...
- .net 设置webbrowser控件使用的IE版本
当我们在使用.net的Webbrowser控件时,发现webbrowser展示的内容和我们用浏览器展示的内容不一致,甚至出现:'JSON' is undefined. 原因是webbrowser使用的 ...
- MySQL之增_insert-replace
MySQL增删改查之增insert.replace 一.INSERT语句 带有values子句的insert语句,用于数据的增加 语法: INSERT [INTO] tbl_name[(col_nam ...