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 ...
随机推荐
- Mac下Sublime Text 总是以新窗口打开文件的解决办法
Mac下的Sublime有个毛病,经常打开后,之前打开的窗口都没了,太难受了. Windows/Linux下的sublime总是默认的以标签页的形式打开关联的文件,但是在Mac下使用Sublime打开 ...
- E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
sudo rm /var/lib/dpkg/locksudo dpkg --configure -a
- linux ---jenkins的安装与配置
linux下的jenkins的安装: Jenkins 下载网址: http://jenkins-ci.org/ 1.准备:JDK环境,tomcat环境,maven环境,jenkins.war包 2.在 ...
- USACO humble
用set构造,优先队列和堆也能够 /* ID:kevin_s1 PROG:humble LANG:C++ */ #include <iostream> #include <cstdi ...
- windows server 2012 IE增强的安全配置如何关闭
http://jingyan.baidu.com/article/6181c3e076ac0b152ff15354.html 打开左下角的 服务端 关闭这个就可以了
- redis sentinel(哨兵机制)部署(Windows下实现)
另外参考:http://www.cnblogs.com/LiZhiW/p/4851631.html 一.准备条件 1.操作系统:win7 2.redis版本:redis-2.8.19 二.下载Redi ...
- linux常见题目
1. 把一个文件里面所有包含 abc 的行里面的 abc 替换成 def,然后输出第一列和第三列 cat abc.txt | grep abc | sed 's/abc/def/g' | awk '{ ...
- libcurl库进行http通讯-开篇
从今天開始介绍一些经常使用的库. 首先就来写一写关于libcurl库. libcurl主要功能就是用不同的协议连接和沟通不同的server~也就是相当封装了的sockPHP 支持libcurl(同意你 ...
- eclipse Java代码折叠工具
eclipse Java代码折叠工具 CreateTime--2018年5月17日15点09分 Author:Marydon 1.问题描述 eclipse自带的代码折叠工具,无法折叠try{}ca ...
- Python C/C++ 拓展使用接口库(build-in) ctypes 使用手册
Python C/C++ 拓展使用接口库(build-in) ctypes 使用手册 ctypes 是一个Python 标准库中的一个库.为了实现调用 DLL,或者共享库等C数据类型而设计.它可以把这 ...