做游戏客户端多一年多了,在大学学的java的SSH,基本上都忘完了,今天看了一下发现基本的连接数据库的都忘了。。。太可怕了这遗忘的速度。

所以写了个连接的例子吧。。安装好mysql数据库之后新建了两张表tx1,tx2。接下来连接数据库,往前面两张表里插入数据。

首先是公共连接类:

TestConnection.java

package cn.wan;

import java.sql.Connection;
import java.sql.*; public class TestConnection { private String driver;
private String url;
private String dbName;
private String password;
Connection conn;
Statement sta;
PreparedStatement prepare; public TestConnection()
{
this.driver = "com.mysql.jdbc.Driver";
this.url = "jdbc:mysql://localhost:3306/tx";
this.dbName = "root";
this.password = "126";
} public Connection getConnection()throws Exception
{
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, dbName, password);
} catch (Exception e) {
e.printStackTrace();
}
return conn;
} public void closeConn()
{
try {
if(this.conn!=null)
{
this.conn.close();
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}

使用Statement类向tx1中插入数据,值得注意的是tx1表的key是整型的,所以注意插入数据的写法。。

package cn.wan;

import java.sql.Connection;
import java.sql.Statement; public class TestStatement { // private static TestConnection connection; public static void main(String[] args)throws Exception
{
Connection conn;
Statement state = null;
Long start = System.currentTimeMillis();
TestConnection connection =new TestConnection();
try {
conn = connection.getConnection();
state = conn.createStatement();
// 需要使用100条sql语句来插入数据
for(int i= 0;i<100;i++)
{
int num= i;
String str2 = "name"+i;
state.executeUpdate("insert into tx1 values('"+num+"','str"+i+"')");
}
System.out.println("使用Statement费时:"+(System.currentTimeMillis()- start));
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally
{
connection.closeConn();
if(state !=null)
{
state.close();
}
} }
}

使用PreparedStatement类向tx2表中插入数据,也要注意他的语句的写法:

package cn.wan;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.Statement; public class TestPrepared { public static void main(String[] args)throws Exception
{
String sqlString = "insert into tx2 values(?,?)";
Connection conn= null;
PreparedStatement state = null;
Long startLong = System.currentTimeMillis();
TestConnection connection = new TestConnection();
try {
conn = connection.getConnection();
// 使用Connection来创建一个PreparedStatemet对象
state = conn.prepareStatement(sqlString);
// 100次为PreparedStatemet的参数赋值,就能插入100条记录
for(int i = 0;i<100;i++)
{
state.setInt(1, i);
state.setString(2, i+"");
state.executeUpdate();
}
System.out.println("使用PreparedStatemet耗时:"+(System.currentTimeMillis()-startLong));
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
finally
{
connection.closeConn();
if(state !=null)
{
state.close();
}
}
}
}

至此连接和两种不同的数据插入就已经完成了。。

java连接mysql数据库实例的更多相关文章

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

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

  2. Java进阶(二十五)Java连接mysql数据库(底层实现)

    Java进阶(二十五)Java连接mysql数据库(底层实现) 前言 很长时间没有系统的使用java做项目了.现在需要使用java完成一个实验,其中涉及到java连接数据库.让自己来写,记忆中已无从搜 ...

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

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

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

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

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

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

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

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

  7. Java 连接 MySQL 数据库

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

  8. java连接MySql数据库 zeroDateTimeBehavior

    JAVA连接MySQL数据库,在操作值为0的timestamp类型时不能正确的处理,而是默认抛出一个异常, 就是所见的:java.sql.SQLException: Cannot convert va ...

  9. JDBC Java 连接 MySQL 数据库

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

随机推荐

  1. Cognos让指定用户不具有删除内容的权限

    为了方便用户使用Cognos,现在很多对权限要求不够严格的用户就想到了可以让用户实现匿名登陆,即不登陆系统即可实现访问报表,当然这也仅仅是按照客户的需求,我个人认为一个安全性的数据平台还是需要对登陆. ...

  2. PCL学习笔记二:Registration (ICP算法)

    原文:http://blog.csdn.net/u010696366/article/details/8941938 PCL Registration API Registration:不断调整,把不 ...

  3. GetProcAddress 使用注意事项

    使用 GetProcAddress Function 时,有以下几点需要特别留意: 1. 第二个参数类型是 LPCSTR,不是 : 2. 用 __declspec(dllexport),按 C 名称修 ...

  4. [Node.js]27. Level 5: URL Building & Doing the Request

    Let's create a page which calls the twitter search API and displays the last few results for Code Sc ...

  5. 控制系统音量,自己定义MPVolumeView

    近期有一个需求,就是控制系统的音量,我们都知道原理在mediaPlayer.framework框架下,有方法 <span style="font-size:18px;"> ...

  6. 【C#】SQL数据库助手类1.0(自用)

    using System; using System.Collections.Generic; using System.Text; using System.Configuration; using ...

  7. openerp 7.0 来自外部的邮件会发送二次问题解决方法

    插入代码:\addons\mail\mail_mail.py #309 line this = self.pool.get('res.users').browse(cr, uid, uid, cont ...

  8. 转发:消息发布时间展示为刚刚、几分钟前、几小时前等等(php篇)

    一.思路解析区: 1.获取当前的时间: 2.获取发布的时间: 3.计算两个的时间差: 4.判断这个时间差的范围给出对应的结果: 二.代码展示区: function tranTime($time) { ...

  9. HDUOJ ---悼念512汶川大地震遇难同胞——来生一起走

    悼念512汶川大地震遇难同胞——来生一起走 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

  10. JavaScript:用JS实现加载页面前弹出模态框

    用JS实现加载页面前弹出模态框 主要的JavaScript 代码是: <script> //加载模态框 $('#myModal').modal(); $(document).ready(f ...