jdbc
2016-08-04 11:18
316 查看
package com.mm;
import java.sql.ResultSet;
import java.sql.SQLException;
// import com.mysql.jdbc.Statement;
//import java.sql.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.Statement;
import java.sql.DatabaseMetaData;
public class JDBCMySQL {
static String sql = null;
static MySQLHelper db1 = null;
static ResultSet ret = null;
public JDBCMySQL() {
// TODO Auto-generated constructor stub
}
public static void main(String[] args) throws SQLException, ClassNotFoundException {
// TODO Auto-generated method st
Connection conn = null;
PreparedStatement pStatementstmt = null;
/**************************************************************
* 1, 加载驱动
* 加载数据库驱动到jvm。 加载成功后,会将Driver类的实例注册到DriverManager类中。
* */
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (Exception e) {
System.out.println("加载驱动失败");
e.printStackTrace();
}
/***************************************************************
* 2, 链接数据库
获得connect对象
* */
try {
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/new_schema2?useUnicode=true&characterEncoding=utf8&transformedBitIsBoolean=yes", "root",
"123456");
} catch (Exception e) {
System.out.println(" 链接数据库 失败");
e.printStackTrace();
}
/*创建一个Statement
•要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3
种类型:
1、执行静态SQL语句。通常通过Statement实例实现。
2、执行动态SQL语句。通常通过PreparedStatement实例实现。
3、执行数据库存储过程。通常通过CallableStatement实例实现。
具体的实现方式:
*/
try {
//3, 操作数据库
String querySql = "select * from usr_table " ;
//connection 接口 进行 实例化操作
//创建一个 PreparedStatement 对象来将参数化的 SQL 语句发送到数据库。
pStatementstmt = conn.prepareStatement(querySql);
// 第一 个 ? 的内容
//stmt.setInt(1, 1);
//通过 statement 可以对数据库 增删改擦
Statement stmt=conn.createStatement();
/* 判断数据库是否存在 表 ,不存在就创建 */
/* 通过连接获取DatabaseMetaData,即调用connection.getMetaData() */
DatabaseMetaData metaData = conn.getMetaData();
//存储查询结果的对象,还可以操作数据。
ResultSet rs1 = metaData.getColumns(null, "new_schema2", "student_9" , null);
// Map map = new HashMap();
if(rs1.next()){
System.out.println("存在表 9");
}else{
System.out.println(" 不 存在表 9 ");
String creaSql = "create table student_9 (NO char(20), name varchar(20), primary key(NO) )";
int result = stmt.executeUpdate(creaSql);
if (result != -1) {
System.out.println(" 创建 表成功");
}
}
//插入数据
/*
sql = "insert into student_9 (NO,name) values('008','陶伟基')";
stmt.executeUpdate(sql);
*/
for (int i = 20; i < 40; i++) {
String iString = Integer.toString(i);
sql = "insert into student_9 (NO,name) values("+iString+",'zhou')";
stmt.executeUpdate(sql);
}
sql = "select * from student_9 ";
ResultSet rsStudent = stmt.executeQuery(sql);// executeQuery会返回结果的集合,否则返回空值
System.out.println("学号\t姓名");
while (rsStudent.next()) {
System.out
.println(rsStudent.getString(1) + "\t" + rsStudent.getString(2));// 入如果返回的是int类型可以用getInt()
}
//记录集
ResultSet rs= stmt.executeQuery(querySql);
//执行查询
// ResultSet rs = pStatementstmt.executeQuery();
System.out.println(" 查询 表所以内容");
while (rs.next()) {
System.out.print(rs.getInt("id")+" : ");
System.out.print(rs.getString("name") + ", ");
System.out.println( rs.getString("age") + "");
System.out.println("----------------------------");
}
// 4,关闭数据库
/*关闭JDBC对象
操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声
明顺序相反:
1、关闭记录集
2、关闭声明
3、关闭连接对象
*/
if (rs != null){
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (pStatementstmt != null){
pStatementstmt.close();
}
if (conn != null){
conn.close();
}
// statement.execute(" CREATE TABLE emp ( empno INT(4), ename varchar(10) , job varchar(10), hiredare date, sal float(7,2) ) ");
// statement.execute(" insert into emp (empno, ename, job, hiredate, sal) values (6060, '李兴华', 'jingli', '2001-09-12', 2000.20) ");
} catch (Exception e) {
System.out.println("---- shi bai --- ");
e.printStackTrace();
// TODO: handle exception
}
}
}
import java.sql.ResultSet;
import java.sql.SQLException;
// import com.mysql.jdbc.Statement;
//import java.sql.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.Statement;
import java.sql.DatabaseMetaData;
public class JDBCMySQL {
static String sql = null;
static MySQLHelper db1 = null;
static ResultSet ret = null;
public JDBCMySQL() {
// TODO Auto-generated constructor stub
}
public static void main(String[] args) throws SQLException, ClassNotFoundException {
// TODO Auto-generated method st
Connection conn = null;
PreparedStatement pStatementstmt = null;
/**************************************************************
* 1, 加载驱动
* 加载数据库驱动到jvm。 加载成功后,会将Driver类的实例注册到DriverManager类中。
* */
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (Exception e) {
System.out.println("加载驱动失败");
e.printStackTrace();
}
/***************************************************************
* 2, 链接数据库
获得connect对象
* */
try {
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/new_schema2?useUnicode=true&characterEncoding=utf8&transformedBitIsBoolean=yes", "root",
"123456");
} catch (Exception e) {
System.out.println(" 链接数据库 失败");
e.printStackTrace();
}
/*创建一个Statement
•要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3
种类型:
1、执行静态SQL语句。通常通过Statement实例实现。
2、执行动态SQL语句。通常通过PreparedStatement实例实现。
3、执行数据库存储过程。通常通过CallableStatement实例实现。
具体的实现方式:
*/
try {
//3, 操作数据库
String querySql = "select * from usr_table " ;
//connection 接口 进行 实例化操作
//创建一个 PreparedStatement 对象来将参数化的 SQL 语句发送到数据库。
pStatementstmt = conn.prepareStatement(querySql);
// 第一 个 ? 的内容
//stmt.setInt(1, 1);
//通过 statement 可以对数据库 增删改擦
Statement stmt=conn.createStatement();
/* 判断数据库是否存在 表 ,不存在就创建 */
/* 通过连接获取DatabaseMetaData,即调用connection.getMetaData() */
DatabaseMetaData metaData = conn.getMetaData();
//存储查询结果的对象,还可以操作数据。
ResultSet rs1 = metaData.getColumns(null, "new_schema2", "student_9" , null);
// Map map = new HashMap();
if(rs1.next()){
System.out.println("存在表 9");
}else{
System.out.println(" 不 存在表 9 ");
String creaSql = "create table student_9 (NO char(20), name varchar(20), primary key(NO) )";
int result = stmt.executeUpdate(creaSql);
if (result != -1) {
System.out.println(" 创建 表成功");
}
}
//插入数据
/*
sql = "insert into student_9 (NO,name) values('008','陶伟基')";
stmt.executeUpdate(sql);
*/
for (int i = 20; i < 40; i++) {
String iString = Integer.toString(i);
sql = "insert into student_9 (NO,name) values("+iString+",'zhou')";
stmt.executeUpdate(sql);
}
sql = "select * from student_9 ";
ResultSet rsStudent = stmt.executeQuery(sql);// executeQuery会返回结果的集合,否则返回空值
System.out.println("学号\t姓名");
while (rsStudent.next()) {
System.out
.println(rsStudent.getString(1) + "\t" + rsStudent.getString(2));// 入如果返回的是int类型可以用getInt()
}
//记录集
ResultSet rs= stmt.executeQuery(querySql);
//执行查询
// ResultSet rs = pStatementstmt.executeQuery();
System.out.println(" 查询 表所以内容");
while (rs.next()) {
System.out.print(rs.getInt("id")+" : ");
System.out.print(rs.getString("name") + ", ");
System.out.println( rs.getString("age") + "");
System.out.println("----------------------------");
}
// 4,关闭数据库
/*关闭JDBC对象
操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声
明顺序相反:
1、关闭记录集
2、关闭声明
3、关闭连接对象
*/
if (rs != null){
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (pStatementstmt != null){
pStatementstmt.close();
}
if (conn != null){
conn.close();
}
// statement.execute(" CREATE TABLE emp ( empno INT(4), ename varchar(10) , job varchar(10), hiredare date, sal float(7,2) ) ");
// statement.execute(" insert into emp (empno, ename, job, hiredate, sal) values (6060, '李兴华', 'jingli', '2001-09-12', 2000.20) ");
} catch (Exception e) {
System.out.println("---- shi bai --- ");
e.printStackTrace();
// TODO: handle exception
}
}
}
相关文章推荐
- 手机的分辨率
- html+js+highcharts绘制圆饼图表的简单实例
- ubuntu sever 的一些常用操作
- gerrit不能对一个已经merge/abandon的change进行再次提交
- PAT-A 1024. Palindromic Number
- JS:js和css本地缓存问题
- 【算法】网易2017校园招聘笔试程序题(分田地)
- Android中直播视频技术探究之---采集摄像头Camera视频源数据进行推流(采用金山云SDK)
- 给自定义View添加xml属性
- java map转bean
- poj 2253(最短路径)
- C#线程
- perl-cgi基础
- Laravel与Repository Pattern(仓库模式)
- ionic 常用命令
- lint简介
- hdu1233 还是畅通工程 最小生成树 Prim算法堆优化
- HDU-2544-最短路【最短路】
- adb 传输二进制文件
- 利用cubieboard设置samba打印服务器