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 ...
随机推荐
- WPF 通过 Windows Template Studio 快速搭建项目框架和上手项目
本文对新手友好.在咱开始一个新项目的时候,可以利用 Windows Template Studio 快速搭建整个项目的框架.搭建出来的框架比较现代化,适合想要快速开发一个项目的大佬使用,也适合小白入门 ...
- 7.prometheus监控--监控docker
4.监控docker 为了能够获取到Docker容器的运行状态,用户可以通过Docker的stats命令获取到当前主机上运行容器的统计信息,可以查看容器的CPU利用率.内存使用量.网络IO总量以及磁盘 ...
- Java Collection接口下的“ List 集合” 与 “ Set 集合 ”
Java Collection接口下的" List 集合" 与 " Set 集合 " 每博一文案 一个人最好的底牌,就这两个字: 靠谱,是最高级的聪明. 师父说 ...
- 程序员天天 CURD,怎么才能成长,职业发展的思考(2)
接着上一篇:程序员天天 CURD,怎么才能成长,职业发展思考 上一篇写到了用年限来谈程序员的发展,在 4 - 6 年这个时间段需要做的一些事情,接着写这个时间段的. 第 4.5 年时候,你可能会做一些 ...
- ansible(5)--ansible的script模块
1. script模块 作用:在远程主机运行本地的脚本: 调用格式: -m script -a "/PATH/TO/SCRIPT_FILE": 参数: creates:如果其后跟的 ...
- apisix~jwt-auth插件
在网关开启jwt-auth插件之后,你的网关就具有了jwt解析和校验的功能,主要是校验jwt token的有效性,包含过期时间和签名等. https://apisix.apache.org/docs/ ...
- JDK源码阅读-------自学笔记(十五)(java.lang.Math数学类)
Math类简介 用于常见的数学方法 如果需要更加强大的数学运算能力,计算高等数学中的相关内容,可以使用apache commons下面的Math类库 常用方法及实战 abs 绝对值 实例: 1 //绝 ...
- docker多主机管理docker-machine
docker-machine https://docs.docker.com/machine/ https://www.runoob.com/docker/docker-machine.html ht ...
- 一文了解npm install -g和npm install --save-dev的关系
本文分享自华为云社区<npm install -g 和 npm install --save-dev 的关系>,作者: SHQ5785. 一.npm install 本地安装 将安装包放在 ...
- linux下YUM工具的使用:yum安装/升级/查看/搜索/卸载软件包
目录 一.关于软件包 二.关于YUM 三.yum工具的使用 3.1 yum安装软件功能 3.2 yum升级软件包功能 3.3 yum查看,搜索功能 3.4 yum卸载功能 3.5 yum安装软件包组功 ...