JDBC例程(MySQL和SQLServer2008R2)

以后可以方便参考。

代码也是参考网上的,稍作了修改,但是具体参考哪一篇忘记了,见谅。

程序运行前,必须要先导入jdbc驱动包,驱动jar包的版本也要和数据库的版本对应。

导入之后,需要在build path里面设置一下,把这个jar包添加进去。

注:如果使用tomcat的话,采用以上方法是找不到这个jar包的,一定要将jar包复制到web/lib目录下(这个目录是不定的,关键是tomcat能够找到)

然后再将其添加到build path中去,这样tomcat 就能找到了。

1.MySQL的JDBC连接方式

比较容易,按部就班即可。

数据库建表语句(这里指定了GBK编码方式,因为涉及到的JAVA代码全是GBK的,统一即可,UTF-8也是一样的):


CREATE DATABASE IF NOT EXISTS MEMO;
CHARACTER SET ‘gbk‘ COLLATE ‘gbk_chinese_ci‘;
grant alter,create,delete,drop ,insert, select, update on memo.* to memo@localhost identified by "Iccc2014";
use memo;

DROP TABLE IF EXISTS TB_MEMO;
CREATE TABLE TB_MEMO
(
ID INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
CARDNO VARCHAR(16) NOT NULL,
CertificateNo VARCHAR(30) NOT NULL,
MEMO VARCHAR(256),
ISURGENT VARCHAR(1),
OPID VARCHAR(6),
OPTIME DATETIME,
SID INTEGER,
CCOUNT INTEGER,
CID INTEGER,
AID INTEGER
) ENGINE= MyISAM DEFAULT CHARSET=GBK;

drop table if exists tb_user;
create table tb_user
(
id varchar(6) not null primary key,
grade varchar(1) not null,
name varchar(50) not null,
password varchar(50) not null,
status varchar(1) not null
) engine= MyISAM DEFAULT CHARSET=GBK;

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;
/**
* @(#)DataBase.java 010/04/22
* @author Dudu
* EST.All rights reserved
*/
public class MySQLTest {
/**定义一个Connection 用来连接数据库*/
private Connection conn=null;
/**连接数据库的URL*/
private final String url="jdbc:mysql://localhost:3306/memo";
/**指定数据的用户名和密码*/
private final String username="memo";
private final String password="2014";
/**定义一个int记录更新的记录数量*/
int count=0;
/**定义一个结果集 用于放回查询结果*/
private ResultSet resultSet=null;
private PreparedStatement pstmt=null;
public MySQLTest(){
conn = connectionDB();
}
/**
* 建立数据的连接
* @exception SQLException, ClassNotFoundException
*/
@SuppressWarnings("finally")
public Connection connectionDB(){
try{
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection(url,username,password);
System.out.println("连接数据库成功");
}catch(Exception e){
e.printStackTrace();
System.out.println("建立数据库发生错误!");
}finally{
return conn;
}
}
/**
* 查询方法
* @param sql查询sql语句
* @return resultSet
*/
@SuppressWarnings("finally")
public ResultSet query(String sql){
try {
pstmt = conn.prepareStatement(sql);
/**查询*/
resultSet = pstmt.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
}finally{
return resultSet;
}
}
/**
* 更新数据
* @param sql 更新sql语句
* @return
*/
public int update(String sql){
try {
pstmt = conn.prepareStatement(sql);
count=pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
System.out.println("执行更新出错了");
}

return count;

}
/**关闭连接*/
public boolean coles(){
boolean isColes = false;
if(resultSet!=null){
try {
resultSet.close();
resultSet=null;
isColes=true;
} catch (SQLException e) {
isColes=false;
e.printStackTrace();
System.out.println("关闭结果集发生错误");
}
}
if(pstmt!=null){
try {
pstmt.close();
pstmt=null;
isColes=true;
} catch (SQLException e) {
isColes=false;
e.printStackTrace();
System.out.println("关闭pstmt发生异常");
}
}
if(conn!=null){
try{
conn.close();
conn=null;
isColes=true;
}catch (Exception e) {
isColes=false;
e.printStackTrace();
System.out.println("关闭conn发生异常");
}
}
return isColes;
}
/**
* 测试查询的方法
* @throws SQLException
*/
public void testQuery() throws SQLException{
resultSet =query("select * from tb_memo");
if(resultSet.next()){
System.out.println(resultSet.getString(1));
System.out.println(resultSet.getString(2));
System.out.println(resultSet.getString(3));
System.out.println(resultSet.getString(4));
}
}
public void testUpdate() throws UnsupportedEncodingException{
String memo = "测试";
count = update("insert into tb_memo(cardno,certificateNo,isUrgent,memo,opid)values(‘123456711212‘,‘33022619900621001xx‘,‘N‘,‘"+memo+"‘, ‘130480‘)");
if(count>0){
System.out.println("更新成功");
}
}
/**
*
* @param args
* @throws SQLException
* @throws ClassNotFoundException
*/
public static void main(String[] args) throws SQLException, ClassNotFoundException, UnsupportedEncodingException {
MySQLTest db = new MySQLTest();
/**调用查询方法*/
db.testQuery();
/**调用更新方法*/
db.testUpdate();
/**调用关闭连接方法*/
db.coles();

}
}

2.SQLServer2008R2的JDBC连接方式

SQLServer连接使用的jdbc驱动是一个sourceforge上下的jar包,jdts-1.2.6.jar,ms官网的jar不稳定,连不上,不知道为什么。而且连接sqlServer的时候,所有语句执行前必须先执行use 数据库名称, 这样才能指定到数据库,url里面直接指定貌似没什么用。

建表语句:


--CREATE USER
--CREATE DATABASE
USE MEMO
--CREATE TB_MEMO
IF EXISTS(SELECT * FROM SYSOBJECTS WHERE NAME = ‘TB_MEMO‘ AND TYPE IN (‘S‘,‘U‘))
DROP TABLE TB_MEMO;
CREATE TABLE TB_MEMO(
ID INTEGER NOT NULL PRIMARY KEY IDENTITY(1,1),
CARDNO VARCHAR(16) NOT NULL,
CERTIFICATENO VARCHAR(30) NOT NULL,
MEMO NVARCHAR(256),
ISURGENT VARCHAR(1),
OPID VARCHAR(6),
OPTIME DATETIME,
SID INTEGER,
CCOUNT INTEGER,
CID INTEGER,
AID INTEGER
)
--CREATE TB_USER
IF EXISTS(SELECT * FROM SYSOBJECTS WHERE NAME = ‘TB_USER‘ AND TYPE IN (‘S‘,‘U‘))
DROP TABLE TB_USER;
CREATE TABLE TB_USER
(
ID VARCHAR(6) NOT NULL PRIMARY KEY,
GRADE VARCHAR(1) NOT NULL,
NAME VARCHAR(50) NOT NULL,
PASSWORD VARCHAR(50) NOT NULL,
STATUS VARCHAR(1) NOT NULL
)

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;
import java.util.Properties;
/**
* @(#)DataBase.java 010/04/22
* @author Dudu
* EST.All rights reserved
*/
public class MySQLTest {
/**定义一个Connection 用来连接数据库*/
private Connection conn=null;
/**连接数据库的URL*/
//private final String url="jdbc:mysql://localhost:3306/memo";
private final String url="jdbc:jtds:sqlserver://172.30.112.104:1433;datebaseName=memo";
//private final String url="jdbc:sqlserver://127.30.112.104:1433;DatabaseName=memo";
/**指定数据的用户名和密码*/
private final String username="memo";
private final String password="Iccc2014";
/**定义一个int记录更新的记录数量*/
int count=0;
/**定义一个结果集 用于放回查询结果*/
private ResultSet resultSet=null;
private PreparedStatement pstmt=null;
public MySQLTest(){
conn = connectionDB();
}
/**
* 建立数据的连接
* @exception SQLException, ClassNotFoundException
*/
@SuppressWarnings("finally")
public Connection connectionDB(){
try{
//Class.forName("com.mysql.jdbc.Driver");
Class.forName("net.sourceforge.jtds.jdbc.Driver");
//Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

//Properties prop = new Properties();
//prop.put(username, "memo");
//prop.put(password, "Iccc2014");
conn=DriverManager.getConnection(url,username,password);
//conn=DriverManager.getConnection(url,prop);
Statement stmt = conn.createStatement();
String sql0 = "USE memo";
stmt.execute(sql0);
System.out.println("连接数据库成功");
}catch(Exception e){
e.printStackTrace();
System.out.println("建立数据库发生错误!");
}finally{
return conn;
}
}
/**
* 查询方法
* @param sql查询sql语句
* @return resultSet
*/
@SuppressWarnings("finally")
public ResultSet query(String sql){
try {
pstmt = conn.prepareStatement(sql);
/**查询*/
resultSet = pstmt.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
}finally{
return resultSet;
}
}
/**
* 更新数据
* @param sql 更新sql语句
* @return
*/
public int update(String sql){
try {
pstmt = conn.prepareStatement(sql);
count=pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
System.out.println("执行更新出错了");
}

return count;

}
/**关闭连接*/
public boolean coles(){
boolean isColes = false;
if(resultSet!=null){
try {
resultSet.close();
resultSet=null;
isColes=true;
} catch (SQLException e) {
isColes=false;
e.printStackTrace();
System.out.println("关闭结果集发生错误");
}
}
if(pstmt!=null){
try {
pstmt.close();
pstmt=null;
isColes=true;
} catch (SQLException e) {
isColes=false;
e.printStackTrace();
System.out.println("关闭pstmt发生异常");
}
}
if(conn!=null){
try{
conn.close();
conn=null;
isColes=true;
}catch (Exception e) {
isColes=false;
e.printStackTrace();
System.out.println("关闭conn发生异常");
}
}
return isColes;
}
/**
* 测试查询的方法
* @throws SQLException
*/
public void testQuery() throws SQLException{
resultSet =query("select * from tb_memo");
if(resultSet.next()){
System.out.println(resultSet.getString(1));
System.out.println(resultSet.getString(2));
System.out.println(resultSet.getString(3));
System.out.println(resultSet.getString(4));
}
}
public void testUpdate() throws UnsupportedEncodingException{
String memo = "测试";
count = update("insert into TB_MEMO(CARDNO,CERTIFICATENO,ISURGENT,MEMO,OPID) values(‘123456711212‘,‘33022619900621001xx‘,‘N‘,‘"+memo+"‘, ‘130480‘)");
if(count>0){
System.out.println("更新成功");
}
}
/**
*
* @param args
* @throws SQLException
* @throws ClassNotFoundException
*/
public static void main(String[] args) throws SQLException, ClassNotFoundException, UnsupportedEncodingException {
MySQLTest db = new MySQLTest();
/**调用查询方法*/
//db.testQuery();
/**调用更新方法*/
db.testUpdate();
/**调用关闭连接方法*/
db.coles();

}
}

JDBC例程(MySQL和SQLServer2008R2),布布扣,bubuko.com

时间: 2024-10-13 07:32:14

JDBC例程(MySQL和SQLServer2008R2)的相关文章

MyEclipse通过JDBC连接MySQL数据库基本介绍

转载自:http://www.jb51.net/article/31876.htm 1.前提是MyEclipse已经能正常开发Java工程 2.安装MySQL 个人使用的是版本是 mysql-5.0.22-win32.zip 网址:http://www.mysql.com/downloads/mysql/#downloads 3.下载JDBC驱动 个人使用的是 mysql-connector-java-5.1.22.zip,所需要的就是解压缩之后其中的 mysql-connector-java-

JDBC链接Mysql数据库+执行sql

package com.wangbingan.utils; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; /**  * JDBC链接数据库  *   * @author Administrator  *   */ public class JdbcUtil { public static void main(Strin

javaweb学习总结(三十四)——使用JDBC处理MySQL大数据

一.基本概念 大数据也称之为LOB(Large Objects),LOB又分为:clob和blob,clob用于存储大文本,blob用于存储二进制数据,例如图像.声音.二进制文等. 在实际开发中,有时是需要用程序把大文本或二进制数据直接保存到数据库中进行储存的. 对MySQL而言只有blob,而没有clob,mysql存储大文本采用的是Text,Text和blob分别又分为: TINYTEXT.TEXT.MEDIUMTEXT和LONGTEXT TINYBLOB.BLOB.MEDIUMBLOB和L

mac jdbc连接mysql

1.下载jdbc驱动: http://dev.mysql.com/downloads/connector/j/ 2.加入jdbc的jar包至项目的libs目录并build path 2.修改环境变量:export PATH=/usr/local/mysql/bin/:${PATH} 3.默认[email protected]没有密码 4.修改密码: 命令行:mysqladmin -u root -p  password root MYSQL环境中的命令: mysql> UPDATE mysql.

javaweb(三十四)——使用JDBC处理MySQL大数据

一.基本概念 大数据也称之为LOB(Large Objects),LOB又分为:clob和blob,clob用于存储大文本,blob用于存储二进制数据,例如图像.声音.二进制文等. 在实际开发中,有时是需要用程序把大文本或二进制数据直接保存到数据库中进行储存的. 对MySQL而言只有blob,而没有clob,mysql存储大文本采用的是Text,Text和blob分别又分为: TINYTEXT.TEXT.MEDIUMTEXT和LONGTEXT TINYBLOB.BLOB.MEDIUMBLOB和L

(详细)JAVA使用JDBC连接MySQL数据库(1)- 软件

欢迎任何形式的转载,但请务必注明出处. 1.jdk 点击查看安装和环境配置教程 2.Eclipse 点击进入官网下载 注意下载完成打开.exe后,出现下图界面,有很多版本供选择 本人目前在学JSP所以安装的是Java EE版本,初学者可以选择第一个Java Developers版本 3.Mysql 点击进入官网下载 点击进入推荐安装教程+环境配置 下载页面注意事项 (虽然选项只有32位的,但下载完成后32位和64位都会安装) (上面的是在线安装,下面的是离线安装,建议选择离线安装) 系列文章 (

java jdbc 连接mysql数据库 实现增删改查

好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打交道非常基础的一个知识,也是比较接近底层的,在实际的工作中大家用得更多的其实还是比较成熟的框架,例如Hibernate.Mybatis. 但是作为这些成熟框架的底层的jdbc却也是我们应该去掌握的,只有了解了jdbc的增删改查,这样在以后如果有兴趣去研究Hibernate或者Mybatis的源代码的

通过JDBC连接Mysql之基础篇

1 JDBC基础知识 Q1 什么是JDBC技术 Java Database Connectivity :Java访问数据库的解决方案 Q2 JDBC如何实现访问数据库 JDBC定义了一套标准通用接口,由数据库厂商来实现这些接口连接数据库 Q3 JDBC有哪些标准通用接口 DriverManager 驱动管理 Connection/DatabaseMetaData 连接接口 Statement/PreparedStatement/CallableStatement 语句对象接口 ResultSet

JDBC连接MySQL数据库及演示样例

JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识         JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,能够为多种关系数据库提供统一訪问,它由一组用Java语言编写的类和接口组成.JDBC为数据库开发者提供了一个标准的API,据此能够构建更高级的工具和接口,使数据库开发者能够用纯 Java API 编写数据库应用程序,而且可跨平台执行,而且不受数据库供应商的限制.