原生jdbc操作mysql数据库详解
首先给大家说一下使用JDBC链接数据库的步骤
1.加载链接数据库驱动
2.建立数据库链接
3.创建数据库操作对象
4.编写sql语句,执行sql语句
5.获取结果集
6.释放资源
我这边采用的是maven构建工具创建的java项目;如果不使用maven创建的话也没有什么不同,因为都是在main方法里面写的嘛!
只是需要导入jdbc需要的jar包即可,然后下面建项目的这些步骤就可以直接跳过了
首先点击新建项目
如果你的这里没有Maven Project 这个选项的话,那就直接点击Other,有的话就直接点击Maven项目即可!
点完以后在这里搜索maven也是一样的,选择Maven Project 然后next
直接使用默认 继续next
找到我选中的那一条 ,其他地方不用填 ,继续next
主要目的不是为了构建项目,所以这上面两个需要填写的地方可以随意些,上面的代表包名 ,第二个代表项目名,然后Finish
然后在pom.xml里面加入如下配置;我是不记得需要那几个jar包了,所以直接全部放进去了,哈哈哈哈哈
现在开始就要写代码了,首先建一个main方法,很简单的写一个例子
package com.TestJDBC; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; /**
* Hello world!
*
*/
public class Demo01
{
public static void main( String[] args )
{
Connection connection=null ;
Statement statement=null;
ResultSet resultSet = null;
try {
//1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
//2.获取连接对象(参数解释,第一个是代表jdbc的方式访问mysql数据库,localhost代表是访问本地的,3306端口号,db_test01代表数据库名字,后面两个代表账户密码
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_test01","root","root"); //3.获取执行sql对象
statement = connection.createStatement();
//4.编写sql语句,执行sql
String sql="select * from stu";
//5.获取结果集 ,查询操作使用executeQuery,增,删,改使用statement.executeLargeUpdate(sql)
//如果是增删改操作,失败了会返回0
resultSet = statement.executeQuery(sql);
if(resultSet.next()){
//获取字符串类型的值
String name = resultSet.getString("name");
String sex = resultSet.getString("sex");
//获取int型的值
int age = resultSet.getInt("age");
System.out.println(name+" ,"+sex+","+age);
} } catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
//6.释放连接
if(resultSet!=null){
try {
resultSet.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(statement!=null){
try {
statement.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(connection!=null){
try {
connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
下面改了一下,是一个预编译的案例
package com.TestJDBC; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; /**
* Hello world!
*
*/
public class Demo01 {
public static void main(String[] args) {
Connection connection = null;
PreparedStatement statement = null;
ResultSet resultSet = null;
try {
// 1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
// 2.获取连接对象(参数解释,第一个是代表jdbc的方式访问mysql数据库,localhost代表是访问本地的,3306端口号,db_test01代表数据库名字,后面两个代表账户密码
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_test01", "root", "root"); // 3.获取执行sql对象
// 4.编写sql语句,执行sql(预编译,用?号代替值)
String sql = "select * from stu where id=?";
statement = connection.prepareStatement(sql);
//然后再设置进去,可以设置多个值
statement.setString(1, "1");
resultSet = statement.executeQuery();
// 5.获取结果集
// ,查询操作使用executeQuery,增,删,改使用statement.executeLargeUpdate(sql)
// 如果是增删改操作,失败了会返回0
if (resultSet.next()) {
// 获取字符串类型的值
String name = resultSet.getString("name");
String sex = resultSet.getString("sex");
// 获取int型的值
int age = resultSet.getInt("age");
System.out.println(name + " ," + sex + "," + age);
} } catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
// 6.释放连接
if (resultSet != null) {
try {
resultSet.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (statement != null) {
try {
statement.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
原生jdbc操作mysql数据库详解的更多相关文章
- 原生Jdbc操作Mysql数据库开发步骤
原生Jdbc操作Mysql数据库开发步骤 原生的Jdbc就是指,不使用任何框架,仅用java.sql包下的方法实现数据库查询等的操作. 下面是开发步骤: 1.导入数据库驱动包 ...
- Jmeter操作MySQL数据库详解
一.jmeter操作数据库的原理 jmeter不可直接操作数据库,必须通过驱动程序来间接操作,但如果数据库不是在本地而是云服务器上的话就需要通过网络来操作. jmeter通过驱动程序来完成对MySQL ...
- CMD命令操作MySql数据库详解
第一:mysql服务的启动和停止 1. net stop mysql 2. net start mysql 第二:登录 mysql –u用户名 [–h主机名或者IP地址] –p密码 例如:mysq ...
- SQLServer 远程链接MySql数据库详解
SQLServer 远程链接MySql数据库详解 by:授客 QQ:1033553122 测试环境: Microsoft Windows XP Professional 版本2000 Service ...
- JAVA通过JDBC连接Oracle数据库详解【转载】
JAVA通过JDBC连接Oracle数据库详解 (2011-03-15 00:10:03) 转载▼http://blog.sina.com.cn/s/blog_61da86dd0100q27w.htm ...
- JDBC操作MySQL数据库案例
JDBC操作MySQL数据库案例 import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prepared ...
- Java使用Jdbc操作MySql数据库(一)
这个示例是Java操作MySql的基本方法. 在这个示例之前,要安装好MySql,并且配置好账户密码,创建一个logininfo数据库,在数据库中创建userinfo数据表.并且在表中添加示例数据. ...
- intelliJ IDEA 配置MySQL数据库 详解
1> 在主界面中,点击右边侧栏的 Database ,在点击 + ,再Data Source 选择数据库 2> 填入 Database 数据库名,在输入 User 和 Password ...
- java数据库 JDBC操作MySQL数据库常用API 部门表和员工表 创建表 添加数据 查询数据
package com.swift.department; import java.sql.Connection; import java.sql.PreparedStatement; import ...
随机推荐
- 02 浅析Spring的AOP(面向切面编程)
1.关于AOP AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善.O ...
- PAT1117. Eddington Number
思路:搞懂题意是关键–E满足有共有E天骑车的距离超过E米,求最大的E! 将数组排序,我们假设最大的E是e,e满足条件有e天骑车超过e米,并且e+1不满足有e+1天骑车超过e+1米.那么我们可以逆序统计 ...
- UVA1213
先打表,再回溯+剪枝 AC代码: #include<cstdio> #include<cstring> #include<cmath> const int maxn ...
- SpringBoot整合Mybatis,多数据源,事务,支持java -jar 启动.
用了一段时间SpringBoot,之前配置MYBATIS ,在打包WAR 放到tomcat下正常,但是WAR已经过时了,现在流行直接打包JAR 丢到DOCKER 里,无奈JAR 启动的时候MAPPER ...
- 生活常用类API调用的代码示例合集:邮编查询、今日热门新闻查询、区号查询等
以下示例代码适用于 www.apishop.net 网站下的API,使用本文提及的接口调用代码示例前,您需要先申请相应的API服务. 邮编查询:通过邮编查询地名:通过地名查询邮编 今日热门新闻查询:提 ...
- Oracle三层嵌套分页查询示例及rownum原理
eg:COMPONENT表数据如下 1.执行select * from (select com.*,rownum r_num from (select * from COMPONENT)com w ...
- 阿里云服务器部署笔记一(python3、Flask、uWSGI、Nginx)
一.重置密码,并重启服务器 二.安全组配置>配置规则>添加安全组规则(为了能在本地ssh到实例) 配置如下: 此配置为允许任意公网IP登陆实例,注意windows与Linux系统端口范围不 ...
- java I/O框架 (三)基本流
概述 基本流有字节输入输出流(InputStream,OutputStream),和字符输入输出流(Reader,Writer),它们都是抽象类,作为Java IO API中其他所有流的父类存在. 我 ...
- hiredis的安装
Hiredis客户端下载地址:https://github.com/antirez/hiredis/zipball/master Hiredis安装步骤: tar zxvf antirez-hired ...
- 使用dlib中的深度残差网络(ResNet)实现实时人脸识别
opencv中提供的基于haar特征级联进行人脸检测的方法效果非常不好,本文使用dlib中提供的人脸检测方法(使用HOG特征或卷积神经网方法),并使用提供的深度残差网络(ResNet)实现实时人脸识别 ...