实验环境:

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数据库,并且实现插入、删除、选择操作的更多相关文章

  1. Linux下的C#连接Mysql数据库

    今天在尝试在 Linux 系统下使用C#连接数据库,发现网上这方面的信息很少,所以就写一篇博客记录一下. Linux下这里使用的是mono. 首先是缺少Mysql.Data.dll这个库的,所以需要安 ...

  2. java连接mysql数据库 三 实现增删改查操作

    同以前一样,先写一个数据库打开和关闭操作类 public class DBConnection { String driver = "com.mysql.jdbc.Driver"; ...

  3. Java连接MySQL数据库及简单操作代码

    1.Java连接MySQL数据库 Java连接MySql需要下载JDBC驱动MySQL-connector-java-5.0.5.zip(举例,现有新版本).然后将其解压缩到任一目录.我是解压到D盘, ...

  4. 转载:Java连接MySQL 数据库的正确操作流程

    转载网址:http://www.bitscn.com/pdb/mysql/201005/186551.html       以下的文章主要介绍的是Java连接MySQL 数据库(以MySQL数据库为例 ...

  5. Java连接MySQL数据库增删改查通用方法

    版权声明:本文为博主原创文章,未经博主允许不得转载. Java连接MySQL数据库增删改查通用方法 运行环境:eclipse+MySQL 以前我们Java连接MySQL数据库都是一个数据库写一个类,类 ...

  6. Java 连接 MySQL 数据库

    最近想学习一下 Java 连接 MySQL 数据库,于是有了这样的一些问题&解决办法. 首先是解决 JDBC(Java Data Base Connectivity)驱动问题,因为默认安装的J ...

  7. 在linux下安装并配置mysql数据库

    在linux下安装并配置mysql数据库 工具/原料   MySql5.6 CentOS 方法/步骤   1 查找以前是否安装有mysql,使用下面命令: rpm -qa|grep -i mysql ...

  8. MySQL学习(一)——Java连接MySql数据库

    MySQL学习(一)——Java连接MySql数据库 API详解: 获得语句执行 String sql = "Insert into category(cid, cname) values( ...

  9. JDBC Java 连接 MySQL 数据库

    MySQL 版本:Server version: 5.7.17-log MySQL Community Server (GPL) 用于测试的 MySQL 数据库:game 查看数据库中的表 mysql ...

  10. java连接mysql数据库详细步骤解析

    java连接mysql数据库详细步骤解析      第一步:下载一个JDBC驱动包,例如我用的是:mysql-connector-java-5.1.17-bin.jar      第二步:导入下载的J ...

随机推荐

  1. C语言程序设计-笔记7-指针

    C语言程序设计-笔记7-指针 例8-1  利用指针模拟密码开锁游戏. #include<stdio.h> int main(void) { int x=5342;          //变 ...

  2. 程序员天天 CURD,怎么才能成长,职业发展的思考(2)

    接着上一篇:程序员天天 CURD,怎么才能成长,职业发展思考 上一篇写到了用年限来谈程序员的发展,在 4 - 6 年这个时间段需要做的一些事情,接着写这个时间段的. 第 4.5 年时候,你可能会做一些 ...

  3. 03 Xpath lxml库的安装和使用

    Python lxml库的安装和使用 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 Xpath 表达式提供了良好的支持,因此能够了高效地解析 HTML/XML 文 ...

  4. console小知识

    console.log(JSON.stringify(object,null,2));

  5. 2023年Clion插件推荐

    目录 搜素位置 插件 background-image plus 背景图片插件 Rainbow Brackets 彩虹括号 Xcode-Dark Theme 界面主题 Grep Console 日志颜 ...

  6. 复杂模式的两个List与Map合并为一个Map的拼接;笛卡尔乘积处理数据问题

    简介 (Introduction): 背景 数据从多个表中获取,每个表的数据条数不是唯一的,最后结果要拼接成一个Map<String,Object>的模式封装所有数据,每个数据是一条. 结 ...

  7. 用pageOffice控件实现 office word文档在线编辑 表格中写数据的方法

    PageOffice对Word文档中Table的操作,包括给单元格赋值和动态添加行的效果. 1 应用场景 OA办公中,经常要在文档的指定位置表格,填充后端指定数据. 如word文档中,表格数据 如下表 ...

  8. Vue3.x+springboot集成pageoffice

    说明:由于pageoffice浏览器是ie内核,vue3不兼容ie.所以需要把页面放在后端 一,前端项目: 1.index.html页面引用pageoffice.js <script type= ...

  9. MyBatis两级缓存机制详解

    缓存是提高软硬件系统性能的一种重要手段:硬件层面,现代先进CPU有三级缓存,而MyBatis也提供了缓存机制,通过缓存机制可以大大提高我们查询性能. 一级缓存 ​ Mybatis对缓存提供支持,但是在 ...

  10. C# WinForm控件及其子控件转成图片(支持带滚动条的长截图)

    概述(Overview) 参考了网上的分析,感觉都不太理想:1.一个控件内如果包含多个子控件时没有考虑顺序问题:2.超出控件可显示区域时不能长截图,有滚动条会多余截取了滚动条.这个随笔旨在解决这个问题 ...