Linux 下使用Java连接MySQL数据库,并且实现插入、删除、选择操作
实验环境:
OS : CentOS5.5 (Linux)
IDE : Eclipse
DBMS : MySQL
准备工作:
1、安装 MySql 。
详见http://www.cnblogs.com/zyumeng/archive/2012/09/17/2688772.html
2、安装 JDBC :
在命令行中输入:
wegt http://www.mysql.com/downloads/connector/j/mysql-connector-java-5.1.22.tar.gz
tar xzvf mysql-connector-java-5.1.22.tar.gz
3、将 mysql 服务器启动起来:
service mysqld start
4、登陆服务器以建立数据库:
mysql –u root –ppassword
5、建立数据库:
create database Data;
然后即可在 IDE (Eclipse)下实现连接。
6、在Eclipse建立项目,然后 将驱动加载到该项目上。
方法为 : 点击项目右键 ->Properties( 属性 )->Java Build Path->Libraries->Add External JARs :
选择“解压JDBC目录”/mysql-connector-java-5.1.15.jar
在Eclipse中建立Java文件,命名为DataBase.java
具体代码:
import java.io.UnsupportedEncodingException ;
import java.sql.Connection ;
import java.sql.DriverManager ;
import java.sql.PreparedStatement ;
import java.sql.ResultSet ;
import java.sql.SQLException ;
import java.sql.Statement ;
public class DataBase
{
public static final String driver = "com.mysql.jdbc.Driver" ; // 驱动
public static final String url = "jdbc:mysql://localhost:3306/Data" ;// 定义URL
public static final String user = "root" ; // 用户名字
public static final String password = "password" ; // 用户密码
private static Connection connection ;// 用于建立连接
private static Statement statement ;// 用于执行
public static void main( String[] args ) throws ClassNotFoundException ,
SQLException , UnsupportedEncodingException
{
connect() ;// 先和数据库服务器建立连接
createTable() ;// 建立表
insert() ;// 向表中插入值
query() ;// 查询
close() ;// 关闭连接
}
/**
* @throws ClassNotFoundException
* @throws SQLException
* 此方法建立连接
*/
private static void connect() throws ClassNotFoundException , SQLException
{
Class.forName( driver ) ;
connection = DriverManager.getConnection( url , user , password ) ;// 建立连接
if( !connection.isClosed() )
{
System.out.println( "Succeeded connecting to the Database!" ) ;
}
statement = connection.createStatement() ;// 建立statement
}
/**
* @throws SQLException
* 建立表
*/
private static void createTable() throws SQLException
{
String sql = "create table Student( Id char(20) not null , Name char(20) not null , Sex char(10) not null , Mail char(30) not null , Adress char(30) not null , primary key(Id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;" ;
statement.executeUpdate( "drop table if exists Student ;" ) ;// 如果该表已经有了则删除
statement.executeUpdate( sql ) ;// 建立表
}
/**
* @throws UnsupportedEncodingException
* @throws SQLException
* 插入值
*/
private static void insert() throws UnsupportedEncodingException ,
SQLException
{
// 声明常量
String[] ids = { "123" , "456" , "789" } ;
String[] names = { "张三" , "李四" , "王五" } ;
String[] sexs = { "女" , "男" , "男" } ;
String[] mails = { "123@qq.com" , "456@qq.com" , "789@qq.com" } ;
String[] addresses = { "北京" , "上海" , "深圳" } ;
String id = null , name = null , sex = null , mail = null , address = null ;
String sql = "insert into Student( Id , Name , Sex , Mail , Adress ) values( ? , ? , ? , ? , ? ) ;" ;
PreparedStatement preparedStatement = connection.prepareStatement( sql ) ;
for( int i = 0 ; i < 3 ; ++ i )
{
id = ids[ i ] ;
name = new String( names[ i ].getBytes( "gbk" ) , "ISO-8859-1" ) ;// 因为中文会出现乱码,因此先转码
sex = new String( sexs[ i ].getBytes( "gbk" ) , "ISO-8859-1" ) ;
mail = mails[ i ] ;
address = new String( addresses[ i ].getBytes( "gbk" ) ,
"ISO-8859-1" ) ;
preparedStatement.setString( 1 , id ) ;
preparedStatement.setString( 2 , name ) ;
preparedStatement.setString( 3 , sex ) ;
preparedStatement.setString( 4 , mail ) ;
preparedStatement.setString( 5 , address ) ;
preparedStatement.executeUpdate() ;// 执行
}
}
/**
* @throws SQLException
* @throws UnsupportedEncodingException
* 查询
*/
private static void query() throws SQLException ,
UnsupportedEncodingException
{
String query = "select * from Student" ;
ResultSet resultset = null ;
resultset = statement.executeQuery( query ) ;// 先将结果保存到resultset中
System.out.println( "Id/tName/tSex/tMail/t/tAddress" ) ;
System.out
.println( "---------------------------------------------------------------" ) ;
// 将结果读出来
while( resultset.next() )
{
String id = resultset.getString( "Id" ) ;
String name = new String( resultset.getString( "Name" ).getBytes(
"ISO-8859-1" ) , "gbk" ) ;// 将码再转回来,以防乱码
String sex = new String( resultset.getString( "Sex" ).getBytes(
"ISO-8859-1" ) , "gbk" ) ;
String mail = resultset.getString( "Mail" ) ;
String address = new String( resultset.getString( "Adress" )
.getBytes( "ISO-8859-1" ) , "gbk" ) ;
System.out.println( id + "/t" + name + "/t" + sex + "/t" + mail
+ "/t" + address ) ;
}
System.out
.println( "---------------------------------------------------------------" ) ;
}
/**
* @throws SQLException
* 关闭连接
*/
private static void close() throws SQLException
{
statement.close() ;// 关闭statement
connection.close() ;// 关闭连接
}
}
已验证上述程序正确
参考资料:
http://blog.csdn.net/shiyanhui66/article/details/6382483
《MySQL快速入门》 第18章 清华大学出版社
转载出处:https://www.cnblogs.com/zyumeng/archive/2012/10/09/2716370.html
Linux 下使用Java连接MySQL数据库,并且实现插入、删除、选择操作的更多相关文章
- Linux下的C#连接Mysql数据库
今天在尝试在 Linux 系统下使用C#连接数据库,发现网上这方面的信息很少,所以就写一篇博客记录一下. Linux下这里使用的是mono. 首先是缺少Mysql.Data.dll这个库的,所以需要安 ...
- java连接mysql数据库 三 实现增删改查操作
同以前一样,先写一个数据库打开和关闭操作类 public class DBConnection { String driver = "com.mysql.jdbc.Driver"; ...
- Java连接MySQL数据库及简单操作代码
1.Java连接MySQL数据库 Java连接MySql需要下载JDBC驱动MySQL-connector-java-5.0.5.zip(举例,现有新版本).然后将其解压缩到任一目录.我是解压到D盘, ...
- 转载:Java连接MySQL 数据库的正确操作流程
转载网址:http://www.bitscn.com/pdb/mysql/201005/186551.html 以下的文章主要介绍的是Java连接MySQL 数据库(以MySQL数据库为例 ...
- Java连接MySQL数据库增删改查通用方法
版权声明:本文为博主原创文章,未经博主允许不得转载. Java连接MySQL数据库增删改查通用方法 运行环境:eclipse+MySQL 以前我们Java连接MySQL数据库都是一个数据库写一个类,类 ...
- Java 连接 MySQL 数据库
最近想学习一下 Java 连接 MySQL 数据库,于是有了这样的一些问题&解决办法. 首先是解决 JDBC(Java Data Base Connectivity)驱动问题,因为默认安装的J ...
- 在linux下安装并配置mysql数据库
在linux下安装并配置mysql数据库 工具/原料 MySql5.6 CentOS 方法/步骤 1 查找以前是否安装有mysql,使用下面命令: rpm -qa|grep -i mysql ...
- MySQL学习(一)——Java连接MySql数据库
MySQL学习(一)——Java连接MySql数据库 API详解: 获得语句执行 String sql = "Insert into category(cid, cname) values( ...
- JDBC Java 连接 MySQL 数据库
MySQL 版本:Server version: 5.7.17-log MySQL Community Server (GPL) 用于测试的 MySQL 数据库:game 查看数据库中的表 mysql ...
- java连接mysql数据库详细步骤解析
java连接mysql数据库详细步骤解析 第一步:下载一个JDBC驱动包,例如我用的是:mysql-connector-java-5.1.17-bin.jar 第二步:导入下载的J ...
随机推荐
- DelegateCommand-最简单的合令调用。
View代码 <StackPanel> <Button Content="方法一" Command="{Binding AddCommand}" ...
- MAUI 自定义绘图入门
在2022的5月份,某软正式发布了 MAUI 跨平台 UI 框架.我本来想着趁六一儿童节放假来写几篇关于 MAUI 入门的博客,可惜发现我不擅长写很入门的博客.再加上 MAUI 似乎是为了赶发布日期而 ...
- java.lang.NoSuchMethodException: tk.mybatis.mapper.provider.base.BaseSelectProvider
解决错误: java.lang.NoSuchMethodException: tk.mybatis.mapper.provider.base.BaseSelectProvider 整合一遍通用mapp ...
- JUC并发编程学习笔记(十八)深入理解CAS
深入理解CAS 什么是CAS 为什么要学CAS:大厂你必须深入研究底层!有所突破! java层面的cas------->compareAndSet compareAndSet(int expec ...
- 【技术流吃瓜】python可视化大屏舆情分析“张天爱“事件微博评论
目录 一.事件背景 二.微热点分析 二.自开发Python舆情分析 2.1 Python爬虫 2.2 可视化大屏 2.2.1 大标题 2.2.2 词云图 2.2.3 条形图 2.2.4 饼图(玫瑰图) ...
- 分享一张2020年用jaegertracing画的tomcat8.5启动流程图
今天整理电脑的时候意外发现一张tomcat8.5的启动流程图,是笔者2020年借助jaegertracing绘制的,想想还比较有意思,在这里分享一下,当初闲来无事折腾了小半天,具体过程已经是记不起来了 ...
- golang map转xml
package main import ( "encoding/xml" "fmt" ) type MyMap map[string]interface{} t ...
- Golang 爬虫02
验证邮箱 目标站点: https://movie.douban.com/top250
- MySQL:根据指定日期加365天,当前时间距离明年的指定的日期还有多少天-SQL
一.数据准备 /* Navicat Premium Data Transfer Source Server : songweipeng Source Server Type : MySQL Sourc ...
- .NET实现获取NTP服务器时间并同步(附带Windows系统启用NTP服务功能)
对某个远程服务器启用和设置NTP服务(Windows系统) 打开注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Tim ...