• 链接准备

  1. MySQL数据库驱动(连接器)。mysql-connector-java-x.x.xx.jar会在MySQL安装时提供,若Mysql是默认安装路径,则连接器在:C:\Program Files (x86)\MySQL\Connector.J 5.1文件夹里,然后在项目中建立一个lib文件夹,拷贝连接器放进去:

  2.将数据库驱动导入至项目的工作空间中,使得其内部包含的包和类都加入到编译环境中。(导入方式,选中上面一步的连接器,右键Buid path)

下面建立一个链接操作类来描述链接和操作方法:

  • 建立一个类Test
1 public class Test {
2
3 public static void main(String[] args) {
4
5 }
6 }
  • 第一步:在代码中初始化数据库驱动:Class.forName("com.mysql.jdbc.Driver").newInstance();,并添加异常处理块。
1 //第一步,在代码中初始化数据库驱动:
2 Class.forName("com.mysql.jdbc.Driver").newInstance();//初始化数据库驱动
  • 第二步:使用DriverManager链接数据库:
1 //第二步,使用DriverManager链接数据库:
2 Connection con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydbone", "root", "199751hwl");
  • 第三步:获得一个会话:
1 //3.获得一个会话:
2 statement = con.createStatement();
  • 第四步:statement.execute执行SQL语句并返回结果:

    • 查操作
 1 if (statement.execute("SELECT * from person")) {//查
2
4 rs = statement.getResultSet();
5 while( rs.next() ) { // 依次获得查询结果,每次执行nest,换一行
6 String name = rs.getString("persName");//获取字段
7 String sex = rs.getString("persSex");
8 System.out.println(name+"\t"+sex);
9 }
11 }
12 else {
13 System.out.println("没有数据!");
14 }
15
    • 增操作
1 if (statement.execute("INSERT into person VALUE(7,'小发发','男','学习')")) {
2 System.out.println("异常!");//增操作这里没有返回
3 }
4 else {
5 System.out.println("增加成功!");
6 }
  • 第五步,关闭结果获取,关闭会话和链接
 1 finally {
2 try {
3 //第五步,关闭结果获取,关闭会话和链接
4 statement.close();
5 con.close();
6 rs.close();
7 } catch (SQLException e1) {
8 e1.printStackTrace();
9 }
10 }
  • 一个完整的小栗子:
 1 import java.sql.*;
2
3 public class TestOne {
4
5 public static void main(String[] args) {
6
7 ResultSet rs = null;
8 Statement statement = null;
9 Connection con = null;
10
11 try {
12
13 //第一步,在代码中初始化数据库驱动:
14 Class.forName("com.mysql.jdbc.Driver").newInstance();//初始化数据库驱动
15 //第二步,使用DriverManager链接数据库:指定链接数据库的信息
16 con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydbone?useUnicode=true&characterEncoding=UTF-8","root","199751hwl");
17 //第三步,获得一个会话:
18 statement = con.createStatement();
19 //第四步,执行SQL并查除结果集合
20 if (statement.execute("SELECT * from person")) {//查
21 rs = statement.getResultSet();
22 while( rs.next() ) { // 依次获得查询结果,每次执行nest,换一行
23 String name = rs.getString("persName");//获取字段
24 String sex = rs.getString("persSex");
25 System.out.println(name+"\t"+sex);
26 }
27 }
28 else {
29 System.out.println("增加成功!");
30 }
31
32 } catch (InstantiationException | IllegalAccessException | ClassNotFoundException | SQLException e) {
33 e.printStackTrace();
34 }finally {
35 try {
36 //第五步,关闭结果获取,关闭会话和链接
37 statement.close();
38 con.close();
39 rs.close();
40 } catch (SQLException e1) {
41 e1.printStackTrace();
42 }
43 }
44 }
45 }

java链接并操作数据库的更多相关文章

  1. SQL语言(二) java怎样连接操作数据库中的数据

    import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.S ...

  2. Java 链接SQL Server 数据库

    1 //Java 连接 SQL Server数据库 2 public static final String DRIVERNAME="com.microsoft.sqlserver.jdbc ...

  3. java中如何操作数据库(增删改查)

    EntityManager 是用来对实体Bean 进行操作的辅助类.他可以用来产生/删除持久化的实体Bean,通过主键查找实体bean,也可以通过EJB3 QL 语言查找满足条件的实体Bean.实体B ...

  4. Java之JDBC操作数据库

    DBC JDBC就是一套接口,真正执行的是jar包里得实现类,通过泛型对象来执行实现类里的方法. 步骤: ###1.导入驱动jar包到工程中 ###2.编写代码注册驱动,我们要让程序知道用的是哪个驱动 ...

  5. JAVA连接、操作数据库的DBHelper

    工厂模式的DBHelper 1 import java.sql.Connection; 2 import java.sql.DriverManager; 3 import java.sql.Prepa ...

  6. Java伪界面操作数据库的小实例

    首先在Mysql中有两个表fruit和login: package com.zuoye; import java.sql.*; import java.util.*; public class Tes ...

  7. Java程序要操作数据库,一定要使用JDBC技术吗?

    <!-- MySQL驱动,连接数据库用,由数据库厂商提供 --> <dependency> <groupId>mysql</groupId> <a ...

  8. Java实例---简单的数据库操作

    源码分析 DAOFactory.java package cn.ftl.mysql ; public class DAOFactory { public static IEmpDAO getIEmpD ...

  9. Python学习笔记 - day11 - Python操作数据库

    MySQL的事务 MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关,MySQL的两种引擎如下: 1.MyISAM:不支持事务,用于只读程序提高性能 2.InnoDB:支持ACID ...

随机推荐

  1. 干货:详解C++ sort函数的cmp参数!

    学算法的第一天你在学冒泡.桶排 在你还没搞明白快排和归并的时候 你已经学到了数据结构最后的堆排序和希尔排序 可以说排序是很多竞赛生的噩梦-- 于是它诞生了 void std::sort() Sort ...

  2. sublime text 的 Ctrl + P「模糊搜索算法」

    Reverse Engineering Sublime Text's Fuzzy Match 这是我能 google 到的最早的一篇关于 Sublime Text 的模糊搜索的文章. https:// ...

  3. 10分钟学会Visual Studio将自己创建的类库打包到NuGet进行引用(net,net core,C#)

    前言 NuGet就是一个包(package)管理平台,确切的说是 .net平台的包管理工具,它提供了一系列客户端用于生成,上传和使用包(package),以及一个用于存储所有包的中心库. 对于一个现代 ...

  4. Django——Paginator分页功能练习

    1.路由urls.py from django.contrib import admin from django.urls import path from app01.views import in ...

  5. noip模拟31

    \(\color{white}{\mathbb{峭壁通天,横崖无岸,惊无识之马,断无疆之虹,名之以:悬崖}}\) 一看完题就暴肝 \(t1\),胡了两个贪心,实现了一个,发现都是错的,然后奖金两个小时 ...

  6. IKE~多预共享密钥问题~解决方案

    原文链接:Configuring more than one Main-Mode Pre-Shared Key (PSK) *dialup* IPSec phase1 可能需要梯子来翻过高墙.文章内容 ...

  7. HCNP Routing&Switching之IS-IS报文结构和类型

    前文我们了解了IS-IS动态路由协议基础相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15249328.html:今天我们来聊一聊IS-IS动态路由协 ...

  8. Devexpress主题/皮肤

    如何在C#中使用DevExpress皮肤管理器.步骤1: 单击 新建项目,然后选择左侧的Visual C#,然后 视窗 ,然后选择 Windows窗体应用程序.将您的项目命名为" SkinD ...

  9. Powershell配合word伪装木马执行

    环境: win7 64位,word2013 生成木马 msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.64.135 LPOR ...

  10. Spring Boot 入门系列(二十八) JPA 的实体映射关系,一对一,一对多,多对多关系映射!

    前面讲了Spring Boot 使用 JPA,实现JPA 的增.删.改.查的功能,同时也介绍了JPA的一些查询,自定义SQL查询等使用.JPA使用非常简单,功能非常强大的ORM框架,无需任何数据访问层 ...