如何使用三层框架开发 JDBC 连接 Mysql 数据库
2017-06-15 21:17
956 查看
(一)项目对应的包和类,接口
(二)对应的编码:
package com.cn.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
*
* 创建人: Administrator 创建时间:2017-6-12功能描述:JdbcUtil链接数据库的工具类
*/
public class JdbcUtil {
/*
* 四要素
*/
private static final String DRIVER = "com.mysql.jdbc.Driver"; // 驱动
private static final String URL = "jdbc:mysql://localhost:3306/admin";// 地址
private static final String USER = "root"; // 数据库用户名
private static final String PWD = "root"; // 数据库密码
// ctrl+shift+x,y 改变大小写
/*
* 三个接口
*/
protected Connection connection; // 链接数据库的
protected PreparedStatement pStatement; // 操作SQL语句
protected ResultSet resultSet; // 接收结果
/*
* (打开数据库)的方法
*/
public void getConnection() {
try {
Class.forName(DRIVER);
connection = DriverManager.getConnection(URL, USER, PWD);
System.out.println("老司机开车了,数据库连接了!");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* (关闭数据库)的方法
*/
public void closeAll() {
try {
if (resultSet != null) {
resultSet.close();
}
if (pStatement != null) {
pStatement.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
/*
* 查询的方法
*/
public ResultSet executeQuery(String sql, Object... objects) {
// 1.打开数据库
getConnection();
try {
// 2.preparedStatement操作SQL语句
pStatement = connection.prepareStatement(sql);
// 3.进行参数非空判断
if (objects != null) {
for (int i = 0; i < objects.length; i++) {
pStatement.setObject(i + 1, objects[i]);
}
// 4.把结果交给resultSet
resultSet = pStatement.executeQuery();
}
} catch (SQLException e) {
e.printStackTrace();
}
// 5.返回给对应的方法
return resultSet;
}
/**
* 增,删,改的方法
*/
public int executeUpdate(String sql, Object...objects) {
int result = 0;
// 1.打开数据库
getConnection();
try {
// 2.数据库语句操作
pStatement = connection.prepareStatement(sql);
// 3.判断参数是否为空
if (objects != null) {
for (int i = 0; i < objects.length; i++) {
pStatement.setObject(i + 1, objects[i]);
}
// 4.接收结果
result = pStatement.executeUpdate();
}
} catch (SQLException e) {
e.printStackTrace();
}
// 5.返回结果
return result;
}
}
(二)对应的编码:
package com.cn.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
*
* 创建人: Administrator 创建时间:2017-6-12功能描述:JdbcUtil链接数据库的工具类
*/
public class JdbcUtil {
/*
* 四要素
*/
private static final String DRIVER = "com.mysql.jdbc.Driver"; // 驱动
private static final String URL = "jdbc:mysql://localhost:3306/admin";// 地址
private static final String USER = "root"; // 数据库用户名
private static final String PWD = "root"; // 数据库密码
// ctrl+shift+x,y 改变大小写
/*
* 三个接口
*/
protected Connection connection; // 链接数据库的
protected PreparedStatement pStatement; // 操作SQL语句
protected ResultSet resultSet; // 接收结果
/*
* (打开数据库)的方法
*/
public void getConnection() {
try {
Class.forName(DRIVER);
connection = DriverManager.getConnection(URL, USER, PWD);
System.out.println("老司机开车了,数据库连接了!");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* (关闭数据库)的方法
*/
public void closeAll() {
try {
if (resultSet != null) {
resultSet.close();
}
if (pStatement != null) {
pStatement.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
/*
* 查询的方法
*/
public ResultSet executeQuery(String sql, Object... objects) {
// 1.打开数据库
getConnection();
try {
// 2.preparedStatement操作SQL语句
pStatement = connection.prepareStatement(sql);
// 3.进行参数非空判断
if (objects != null) {
for (int i = 0; i < objects.length; i++) {
pStatement.setObject(i + 1, objects[i]);
}
// 4.把结果交给resultSet
resultSet = pStatement.executeQuery();
}
} catch (SQLException e) {
e.printStackTrace();
}
// 5.返回给对应的方法
return resultSet;
}
/**
* 增,删,改的方法
*/
public int executeUpdate(String sql, Object...objects) {
int result = 0;
// 1.打开数据库
getConnection();
try {
// 2.数据库语句操作
pStatement = connection.prepareStatement(sql);
// 3.判断参数是否为空
if (objects != null) {
for (int i = 0; i < objects.length; i++) {
pStatement.setObject(i + 1, objects[i]);
}
// 4.接收结果
result = pStatement.executeUpdate();
}
} catch (SQLException e) {
e.printStackTrace();
}
// 5.返回结果
return result;
}
}
相关文章推荐
- 在SAE中如何使用JDBC连接数据库
- java使用jdbc连接数据库工具类和jdbc连接mysql数据示例
- PostgreSQL介绍以及如何开发框架中使用PostgreSQL数据库
- 使用Spring JDBC框架连接并操作数据库
- 使用powerdesigner连接数据库时出现Non SQL Error : Could not load class com.mysql.jdbc.Drive
- VS2013与MySql建立连接;您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库 EF6使用Mysql的技巧
- Android经验之如何使用JDBC连接数据库
- VS2013与MySql建立连接;您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库 EF6使用Mysql的技巧
- Android之使用JDBC连接数据库-使用jtds连接mySQL
- 使用 jdbc 连接数据库的实例(mysql)
- 如何创建本地数据库MySQL并连接JDBC
- 如何正确获得mysql,access的ADO连接字符串,并使用该连接字符串连接数据库
- 使用JDBC连接mysql,db2等数据库
- 使用powerdesigner连接数据库时出现Non SQL Error : Could not load class com.mysql.jdbc.Drive
- 如何使用navicat for mysql连接本地数据库,并且导入数据文件
- VS2013与MySql建立连接;您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库 EF6使用Mysql的技巧
- 使用JDBC-ODBC方式连接数据库时,如何在代码中指定ODBC数据源信息
- java jdbc连接数据库(使用mysql进行连接)
- ssm框架学习---传统使用jdbc连接数据库的问题
- 完整java开发中JDBC连接mysql或者其他数据库代码和步骤