java数据库之JDBC
任何一个项目,都离不开数据,而对于数据的存储以及其他操作,就会用到数据库了。
在这里是主要针对MySQL数据库的操作。
1.软件
当然首先要下载MySQL,为了操作起来更加方便,这里推荐一个比较方便的辅助软件Navicat for MySQL,
看名字就知道专门为MySQL设计的。(图片尺寸太大,而且找不到缩小尺寸的选项,索性不贴图了)
1.1
首先如果MySQL创建的时候没有新建一个Connection,那么进入软件之后再创建一个新的Connection,
这里会要求输入Hostname,本地服务器的话就是127.0.0.1;
然后是端口(Port),默认是3306,可以自行更改,但是要在0~1023之外,因为这些是为系统软件预留的;
再然后就是用户名和密码了,方便记忆,一般都写root,root。
完了之后,进入这个Connection,新建一个数据库如eco,之后的操作为了方便,在Navicat for MySQL中操作。
1.2
进入Navicat for MySQL后,建立与之前Connection的连接,填入之前的hostname、port、username、
password等必要信息。
打开数据库eco,该建表的建表,该导入的导入,因为全是中文我就不一一赘述了。
建好数据库之后,就是在java中对数据库的操作了。
2.java项目建立对数据库的连接
首先我们要下载一个MySQL驱动的jar包,拖到项目下,然后右键Bulid Path;
public class MySQL {
private static final String URL = "jdbc:mysql://127.0.0.1:8090/eco?useUnicode=true&characterEncoding=utf-8&useSSL=false";
private static final String USER = "root";
private static final String PASSWORD = "root";
private static Connection conn;
static Connection getconnect() {
try {
// 加载MySQL驱动程序
Class.forName("com.mysql.jdbc.Driver");
// 获得数据库eco的连接
conn = DriverManager.getConnection(URL, USER, PASSWORD);
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
17 }
在这里定义了一个静态方法getconnect()是为了在其他类中随时调用对指定数据库的连接,我们可
以看到在获得数据库eco连接的方法中有三个参数,下面解释一下这个URL参数的含义:
jdbc:指采用jdbc方式建立对数据库的连接;
mysql:hostname,因为是本地的,所以依旧是127.0.0.1;
eco:数据库名称;
Unicode~:规定解析方式,这里是utf-8;
useSSL:这里是对JDBC和MySQL的版本兼容性处理。
3.将表格数据逐条读到一个集合中
public class Do {
public static List userlist() {
List<User> list = new ArrayList<User>();
//调用方法实现对数据库的连接
Connection conn = MySQL.getconnect();
try {
//新建一个查询语句,从table1表格中筛选出user、password字段
String sql = "select user,password from table1";
//执行sql,并返回数据列表
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(sql);
while (rs.next()) {
//将筛选后的记录逐条添加到集合中,
User user = new User();
user.setUser(rs.getString("user"));
user.setPassword(rs.getString("password"));
list.add(user);
}
rs.close();
st.close();
} catch (Exception e) {
e.printStackTrace();
}
//此方法最终返回所有记录的集合
return list;
}
}
在这里,我们先建一个List集合,将表格的数据作为User对象的各属性,逐条添加到集合中
最后这个方法返回了包含所有用户信息(user、password)的集合。
这样,我们就已经将数据库中的信息,保存在一个List集合中了,之后将对这个集合操作,进而实现
对数据库的增、删、改、查。
java数据库之JDBC的更多相关文章
- JAVA数据库编程(JDBC技术)-入门笔记
本菜鸟才介入Java,我现在不急着去看那些基本的语法或者一些Java里面的版本的特征或者是一些晋级的知识,因为有一点.Net的OOP编程思想,所以对于Java的这些语法以及什么的在用到的时候在去发现学 ...
- [Java] 数据库编程JDBC
背景 持久化:把Java对象保存在硬盘中 序列化:将对象转换为二进制对象,再保存 保存在关系型数据库中 Object-Relational Mapping(对象-关系映射框架,或ORM框架):把对象属 ...
- Java数据库编程(JDBC)
一.使用Java对数据库的操作步骤: 1.根据应用程序的数据库类型,加载相应的驱动: 2.连接到数据库,得到Connection对象: 3.通过Connection创建Statement对象: 4.使 ...
- JDBC与JAVA数据库编程
一.JDBC的概念 1. JDBC (Java DataBase Connectivity) Java数据库连接 a) 主要提供java数据库应用程序的API支持 2. JDBC的主要功能 a) 创建 ...
- Java数据库操作(JDBC)
JDBC Java数据库连接(Java DataBase Connectivity,JDBC)用于在Java程序中实现数据库操作功能,它提供了执行SQL语句.访问各种数据库的方法,并为各种不同的数据库 ...
- Java基础之MySQL数据库与JDBC
一.数据库 DBMS 数据库管理系统 是由多个程序构成的专门用来管理大量数据的计算机系统 Server 提供数据存储.检索.计算等服务的网络程序+系统服务 Notifier ...
- 【JDBC】java程序通过jdbc连接oracle数据库方法
版权声明:本文为博主原创文章(原文:blog.csdn.net/clark_xu 徐长亮的专栏).未经博主同意不得转载. https://blog.csdn.net/u011538954/articl ...
- Java操作数据库——在JDBC里使用事务
Java操作数据库——在JDBC里使用事务 摘要:本文主要学习了如何在JDBC里使用事务. 使用Connection的事务控制方法 当JDBC程序向数据库获得一个Connection对象时,默认情况下 ...
- Java操作数据库——使用JDBC连接数据库
Java操作数据库——使用JDBC连接数据库 摘要:本文主要学习了如何使用JDBC连接数据库. 背景 数据持久化 数据持久化就是把数据保存到可掉电式存储设备中以供之后使用.大多数情况下,特别是企业级应 ...
随机推荐
- GROUP BY 的实现与优化
由于GROUP BY实际上也同样需要进行排序操作,而且与ORDER BY相比,GROUP BY主要只是多了排序之后的分组操作.当然,如果在分组的时候还使用了其他的一些聚合函数,那么还需要一些聚合函数的 ...
- Mybatis接口编程原理分析(三)
前面两篇博客Mybatis接口编程原理分析(一)和Mybatis接口编程原理分析(二)我们介绍了MapperProxyFactory.MapperProxy和MapperMethod的操作及源码分析, ...
- 12、Libgdx的图像之全屏和垂直同步
(官网:www.libgdx.cn) 检测当前设置 判断是否设置全屏,可以通过如下方式: boolean fullscreen = Gdx.graphics.isFullscreen(); 设置全屏和 ...
- Linux Debugging(一): 使用反汇编理解C++程序函数调用栈
拿到CoreDump后,如果看到的地址都是????,那么基本上可以确定,程序的栈被破坏掉了.GDB也是使用函数的调用栈去还原"事故现场"的.因此理解函数调用栈,是使用GDB进行现场 ...
- python“# -*- coding: UTF-8 -*-”
python跑一趟红 python脚本文件中,python编译器是使用ascii码来解释脚本内容.如果.py源文件中包含中文,会报错(注释也报错).所以文件开头加上"# -*- coding ...
- Git版本控制:Git查阅、撤销文件修改和撤销文件追踪
http://blog.csdn.net/pipisorry/article/details/47867097 查看文件的修改历史 git log --pretty=oneline 文件名 # 显示修 ...
- [加密]C#实现维吉尼亚加密与解密(解密前提为已知密匙)
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- Ext.Net 1.x_Ext.Net.GridPanel 事件
1.行双击事件 首先设置选择方式为RowSelectionModel单行选中 [html] view plaincopy <SelectionModel> <ext:RowSelec ...
- 【Coding算法导论】第4章:最大子数组问题
Coding算法导论 本系列文章主要针对算法导论一书上的算法,将书中的伪代码用C++实现 代码未经过大量数据测试,如有问题,希望能在回复中指出! (一)问题描述 给定一个数组,求数组中连续的子数组的和 ...
- STL常用查找算法介绍
adjacent_find() 在iterator对标识元素范围内,查找一对相邻重复元素,找到则返回指向这对元素的第一个元素的迭代器.否则返回past-the-end. #include <io ...