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 ...
 
随机推荐
- Linux内核之I2C协议
			
I2C协议标准文档 THE I2C-BUS SPECIFICATION VERSION 2.1 JANUARY 2000: https://www.csd.uoc.gr/~hy428/reading/ ...
 - Oracle和达梦:获取表是否被锁定
			
1.获取表是否被锁定 select "V$SESSIONS".SESS_ID,"V$SESSIONS".SQL_TEXT,"V$SESSIONS&qu ...
 - ShareConnect即将寿终正寝 Splashtop远程桌面会是最好的替代品
			
大家好,我是没有感情的翻译机器人,又见面了.同类产品ShareConnect即将退市,官方大大搞了个新闻稿.君叫臣翻,臣不得不翻.------没有感情的分割线------ShareConnect的使用 ...
 - C 编程异常 — double free or corruption (fasttop)
			
问题:运行代码的时候程序崩溃. *** Error in `./parsing': double free or corruption (fasttop): 0x00000000023d2350 ** ...
 - c++调用动态dll库
			
首先把需要调用的动态库dll和它依赖的对象都要放入到运行目录,debug环境就是debug目录下了. 然后就写代码: #include <iostream> #include <wi ...
 - python垃圾回收和缓存管理
			
Python垃圾回收和缓存管理 你有没有想过为什么我们频繁地使用Python敲代码做项目,实际上一直在生产对象并不断占用内存,而我们很少会去清理Python的内存,理论上来讲它总有一天把内存消耗殆尽( ...
 - vue-cli 中使用 Axios
			
安装 axios: 1 npm install axios --save-dev 接着在src目录下创建一个http.js脚本中,导入axios并通过create方法实例化一个http请求对象,这样我 ...
 - mysql 5.6  inner join and 慢优化
			
慢示例: SELECT o.id FROM o_schoolnotice o INNER JOIN o_schoolnotice_parent p ON o.id = p.noticeid AND p ...
 - Mybatis-Plus update不存在的数据返回值一定为零?
			
MP update不存在的数据返回值一定为零? 本文分为以下几个部分: 前言 验证过程 结论 前言  MP(mybatis-plus),在 MyBatis 的基础上只做增强不做改变,为简化开发.提高 ...
 - Android 12(S) MultiMedia(十二)MediaCodecList & IOmxStore
			
这节来了解下MediaCodecList相关代码路径: frameworks/av/media/libstagefright/MediaCodecList.cpp frameworks/av/medi ...