java链接并操作数据库
链接准备
- 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链接并操作数据库的更多相关文章
- SQL语言(二) java怎样连接操作数据库中的数据
import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.S ...
- Java 链接SQL Server 数据库
1 //Java 连接 SQL Server数据库 2 public static final String DRIVERNAME="com.microsoft.sqlserver.jdbc ...
- java中如何操作数据库(增删改查)
EntityManager 是用来对实体Bean 进行操作的辅助类.他可以用来产生/删除持久化的实体Bean,通过主键查找实体bean,也可以通过EJB3 QL 语言查找满足条件的实体Bean.实体B ...
- Java之JDBC操作数据库
DBC JDBC就是一套接口,真正执行的是jar包里得实现类,通过泛型对象来执行实现类里的方法. 步骤: ###1.导入驱动jar包到工程中 ###2.编写代码注册驱动,我们要让程序知道用的是哪个驱动 ...
- JAVA连接、操作数据库的DBHelper
工厂模式的DBHelper 1 import java.sql.Connection; 2 import java.sql.DriverManager; 3 import java.sql.Prepa ...
- Java伪界面操作数据库的小实例
首先在Mysql中有两个表fruit和login: package com.zuoye; import java.sql.*; import java.util.*; public class Tes ...
- Java程序要操作数据库,一定要使用JDBC技术吗?
<!-- MySQL驱动,连接数据库用,由数据库厂商提供 --> <dependency> <groupId>mysql</groupId> <a ...
- Java实例---简单的数据库操作
源码分析 DAOFactory.java package cn.ftl.mysql ; public class DAOFactory { public static IEmpDAO getIEmpD ...
- Python学习笔记 - day11 - Python操作数据库
MySQL的事务 MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关,MySQL的两种引擎如下: 1.MyISAM:不支持事务,用于只读程序提高性能 2.InnoDB:支持ACID ...
随机推荐
- 干货:详解C++ sort函数的cmp参数!
学算法的第一天你在学冒泡.桶排 在你还没搞明白快排和归并的时候 你已经学到了数据结构最后的堆排序和希尔排序 可以说排序是很多竞赛生的噩梦-- 于是它诞生了 void std::sort() Sort ...
- sublime text 的 Ctrl + P「模糊搜索算法」
Reverse Engineering Sublime Text's Fuzzy Match 这是我能 google 到的最早的一篇关于 Sublime Text 的模糊搜索的文章. https:// ...
- 10分钟学会Visual Studio将自己创建的类库打包到NuGet进行引用(net,net core,C#)
前言 NuGet就是一个包(package)管理平台,确切的说是 .net平台的包管理工具,它提供了一系列客户端用于生成,上传和使用包(package),以及一个用于存储所有包的中心库. 对于一个现代 ...
- Django——Paginator分页功能练习
1.路由urls.py from django.contrib import admin from django.urls import path from app01.views import in ...
- noip模拟31
\(\color{white}{\mathbb{峭壁通天,横崖无岸,惊无识之马,断无疆之虹,名之以:悬崖}}\) 一看完题就暴肝 \(t1\),胡了两个贪心,实现了一个,发现都是错的,然后奖金两个小时 ...
- IKE~多预共享密钥问题~解决方案
原文链接:Configuring more than one Main-Mode Pre-Shared Key (PSK) *dialup* IPSec phase1 可能需要梯子来翻过高墙.文章内容 ...
- HCNP Routing&Switching之IS-IS报文结构和类型
前文我们了解了IS-IS动态路由协议基础相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15249328.html:今天我们来聊一聊IS-IS动态路由协 ...
- Devexpress主题/皮肤
如何在C#中使用DevExpress皮肤管理器.步骤1: 单击 新建项目,然后选择左侧的Visual C#,然后 视窗 ,然后选择 Windows窗体应用程序.将您的项目命名为" SkinD ...
- Powershell配合word伪装木马执行
环境: win7 64位,word2013 生成木马 msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.64.135 LPOR ...
- Spring Boot 入门系列(二十八) JPA 的实体映射关系,一对一,一对多,多对多关系映射!
前面讲了Spring Boot 使用 JPA,实现JPA 的增.删.改.查的功能,同时也介绍了JPA的一些查询,自定义SQL查询等使用.JPA使用非常简单,功能非常强大的ORM框架,无需任何数据访问层 ...