java连接mysql数据库实例
做游戏客户端多一年多了,在大学学的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数据库实例的更多相关文章
- Java连接MySQL数据库增删改查通用方法
版权声明:本文为博主原创文章,未经博主允许不得转载. Java连接MySQL数据库增删改查通用方法 运行环境:eclipse+MySQL 以前我们Java连接MySQL数据库都是一个数据库写一个类,类 ...
- Java进阶(二十五)Java连接mysql数据库(底层实现)
Java进阶(二十五)Java连接mysql数据库(底层实现) 前言 很长时间没有系统的使用java做项目了.现在需要使用java完成一个实验,其中涉及到java连接数据库.让自己来写,记忆中已无从搜 ...
- MySQL学习(一)——Java连接MySql数据库
MySQL学习(一)——Java连接MySql数据库 API详解: 获得语句执行 String sql = "Insert into category(cid, cname) values( ...
- java连接mysql数据库详细步骤解析
java连接mysql数据库详细步骤解析 第一步:下载一个JDBC驱动包,例如我用的是:mysql-connector-java-5.1.17-bin.jar 第二步:导入下载的J ...
- 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 数据库,于是有了这样的一些问题&解决办法. 首先是解决 JDBC(Java Data Base Connectivity)驱动问题,因为默认安装的J ...
- java连接MySql数据库 zeroDateTimeBehavior
JAVA连接MySQL数据库,在操作值为0的timestamp类型时不能正确的处理,而是默认抛出一个异常, 就是所见的:java.sql.SQLException: Cannot convert va ...
- JDBC Java 连接 MySQL 数据库
MySQL 版本:Server version: 5.7.17-log MySQL Community Server (GPL) 用于测试的 MySQL 数据库:game 查看数据库中的表 mysql ...
随机推荐
- 项目加入 TFS报错
新建一个项目,然后在解决方案上右击,选择Add solution to source control的时候,总是失败,output窗口中出现的错误信息如下: An error was raised ...
- OAuth 2.0 RFC 框架 中文
Internet Engineering Task Force (IETF) D. Hardt, Ed.Request for Comments: 6749 MicrosoftObsoletes: 5 ...
- Oracle Data Guard 重要配置参数
Oracle Data Guard主要是通过为生产数据库提供一个或多个备用数据库(是产生数据库的一个副本),以保证在主库不可用或异常时数据不丢失并通过备用数据库继续提供服务.对于Oracle DG的配 ...
- OC 创建单例
static BlockBackground *_sharedInstance = nil; + (BlockBackground*)sharedInstance { if (_sharedInsta ...
- Linux获得命令帮助(学习笔记五)
一.获得命令帮助 1.1.内部命令与外部命令 简单来说,在linux系统中有存储位置的命令为外部命令: 没有存储位置的为内部命令,可以理解为内部命令嵌入在linux的shell中,所以看不到. typ ...
- RESTful到底是什么玩意??
0. REST不是"rest"这个单词,而是几个单词缩写.: 1. REST描述的是在网络中client和server的一种交互形式:REST本身不实用,实用的是如何设计 RE ...
- 解决vsftpd乱码
不管是中文环境还是英文环境,需要改的地方如下: /etc/sysconfig/i18n 其内容改为: LANG="zh_CN.GB2312"SYSFONT="latarc ...
- hdu5246 超级赛亚ACMer
Problem Description 百小度是一个ACMer,也是一个超级赛亚人,每一个ACMer都有一个战斗力.包含百小度. 所谓超级赛亚人的定义,是说假设在对抗中刚好接近极限状态,那就会激发斗志 ...
- CentOS6.3的VNC--远程桌面
2G内存的服务器开启Gnome图形化界面应该没什么问题.1G还有512M的内存的就不敢开启了,现在内存正常状态就已经60%左右了. CentOS6.3服务器,Gnome图形化界面按照阿里官方步骤:一. ...
- iOS蓝牙BLE4.0通信功能
概述 iOS蓝牙BLE4.0通信功能,最近刚学的苹果,为了实现蓝牙门锁的项目,找了一天学习了下蓝牙的原理,亲手测试了一次蓝牙的通信功能,结果成功了,那么就把我学习的东西分享一下. 详细 代码下载:ht ...