Jdbc公共类CommonJdbc 使用Property类, PreparedStatement类开发,参考了网络上的公共资源。
Jdbc公共类CommonJdbc V1.0.0 包括三个文件
1.jdbc_mysqlConfig.properties 数据库配置文件可以更换为你使用的数据库jdbc URL;
2.CommonJdbc.java 核心类;
3.TestMy.java测试类 欢迎大家板砖!!!
jdbc_mysqlConfig.properties源代码
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/db_flex3
username=root
password=doit
CommonJdbc.java源代码
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import java.util.Properties;
public class CommonJdbc {
// jdbc连接对象
private Connection conn;
// 操作对象
private PreparedStatement pst;
// 结果集对象
private ResultSet rs;
// 配置文件对象
// private Properties pro;
// 返回配置文件对象
public static Properties getProperties() {
Properties prop = new Properties();
InputStream in = null;
try {
in = CommonJdbc.class.getResourceAsStream("jdbc_mysqlConfig.properties");
// in = TestMysql.class.getResourceAsStream("jdbc_mysqlCofing.properties");
prop.load(in);
} catch (Exception e) {
e.printStackTrace();
return null;
} finally {
if (in != null) {
try {
in.close();
} catch (IOException eio) {
eio.printStackTrace();
}
}
}
return prop;
}
/*
* 打开数据库并创建连接对象 true 成功 false失败
*/
public boolean openConn() {
boolean isPass = false;
// 从配置文件获得jdbc链接
Properties props = getProperties();
String driver = props.getProperty("driver");
String url = props.getProperty("url");
String username = props.getProperty("username");
String password = props.getProperty("password");
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, username, password);
isPass = true;
} catch (ClassNotFoundException nfe) {
closeAll();
nfe.printStackTrace();
System.out.println("Database connection false!");
isPass = false;
} catch (SQLException se) {
closeAll();
se.printStackTrace();
isPass = false;
}
return isPass;
}
/*
* 新增和修改 操作一张表
*/
public boolean excuteUpdate(String sql) {
boolean isPassed = false;
// 判断数据库是否连通
if (openConn()) {
try {
conn.setAutoCommit(false);
pst = conn.prepareStatement(sql);
pst.execute();
conn.commit();
isPassed = true;
} catch (SQLException e) {
// TODO Auto-generated catch block
System.out.print("SQL:" + sql);
e.printStackTrace();
} finally {
closeAll();
}
}
return isPassed = true;
}
/*
* 新增或者更新多个表 数组
*/
public boolean excuteUpdate(String[] sql) {
boolean isPassed = false;
if (openConn()) {
try {
conn.setAutoCommit(false);
for (int i = 0; i < sql.length; i++) {
pst = conn.prepareStatement(sql[i]);
pst.execute();
conn.commit();
isPassed = true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
try {
conn.rollback();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
for (int i = 0; i < sql.length; i++) {
System.out.println("SQL:" + sql);
}
e.printStackTrace();
} finally {
closeAll();
}
}
return isPassed;
}
/*
* 新增或者更新多个表 List
*/
public boolean excuteUpdate(List<String> sql) {
boolean isPassed = false;
if (openConn()) {
try {
conn.setAutoCommit(false);
for (int i = 0; i < sql.size(); i++) {
pst = conn.prepareStatement(sql.get(i));
pst.execute();
conn.commit();
isPassed = true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
try {
conn.rollback();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
for (int i = 0; i < sql.size(); i++) {
System.out.println("SQL:" + sql);
}
e.printStackTrace();
} finally {
closeAll();
}
}
return isPassed;
}
/*
* 返回结果集ResuletSet
*/
public ResultSet executeQuery(String sql) {
ResultSet rs = null;
if (openConn()) {
try {
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
} catch (SQLException e) {
// TODO Auto-generated catch block
closeAll();
System.out.print("SQL:" + sql);
System.out.println("ERROR:Databse disconnected!");
e.printStackTrace();
}
}
return rs;
}
/*
* closeAll()关闭所有数据库链接对象
*/
public void closeAll() {
if (conn != null) {
try {
conn.close();
conn = null;
} catch (SQLException sqle) {
sqle.printStackTrace();
}
}
if (pst != null) {
try {
conn.close();
conn = null;
} catch (SQLException sqle) {
sqle.printStackTrace();
}
}
if (rs != null) {
try {
rs.close();
rs = null;
} catch (SQLException sqle) {
sqle.printStackTrace();
}
}
}
}
TestMy.java测试类
package test;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.kylin.jdbc.CommonJdbc;
public class TestMy {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String sql="select * from userinfo";
CommonJdbc cj=new CommonJdbc();
ResultSet rst=cj.executeQuery(sql);
try {
while(rst.next()){
System.out.println("ID:"+rst.getString(1));
System.out.println("UserName:"+rst.getString(2));
System.out.println("PassWord:"+rst.getString(3));
System.out.println("--------------------------");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
测试结果
ID:1
UserName:admin
PassWord:admin
--------------------------
ID:2
UserName:luoxiaoxia
PassWord:lxx
--------------------------
ID:3
UserName:Williams
PassWord:king
--------------------------
ID:4
UserName:lucy
PassWord:lucy
--------------------------
ID:5
UserName:lucy2
PassWord:lucy2
--------------------------
分享到:
相关推荐
1. d3.min.js,ldavis.v1.0.0.css,ldavis.v1.0.0.js三个文件内容 2. pyLDAvis的实例 3. 实例请参考:https://blog.csdn.net/weixin_35757704/article/details/123150467
QChartsTools v1.0.0 是一个专用于创建折线图的库,它提供了丰富的功能和自定义选项,使得开发者能够轻松地在各种应用场景中构建美观且实用的数据可视化工具。这个压缩包文件包含了该库的源代码和其他必要的资源,为...
主要功能 v1.0.0: 1、随机生成密码; 2、支持1~999位的密码长度(太长了也没多大意思^-^); 3、支持数字、大写字母、小写字母、符号格式的密码。 说明: 1、绿色版本,无需任何安装直接使用,不写注册表; 2、本...
6. **版本管理**:固件库的版本号(V1.0.0)表明这是第一个正式发布的版本,可能存在一些已知或未知的问题,但通常会随着后续的更新而逐渐完善。 在实际开发中,开发者首先需要根据项目需求选择合适的开发环境,...
《Q哥记事本V1.0.0:专业与便捷的文本编辑工具》 "Q哥记事本V1.0.0"是一款专为用户提供高效文本编辑体验的软件,其版本号明确标注为V1.0.0,表明这是该软件的初始版本,可能包含了基本的功能和性能优化。软件开发者...
总的来说,dell_fans_controller_v1.0.0是一款针对戴尔PowerEdge服务器风扇管理的专业工具,通过智能化的风扇调速策略,保证了服务器的稳定运行和良好的散热效果。对于拥有戴尔PowerEdge服务器的企业和个人来说,...
cs80 gaussdb200驱动下载
标题 "aom-v1.0.0.errata.1.tar.gz" 指的是一个名为 "aom" 的开源项目,其版本为1.0.0的错误修复更新(errata)第一版,并以tar.gz格式打包。这个压缩包包含了项目的一些核心文件和文档,表明这可能是用于开发或维护...
调频收音机V1.0.0
电视盒 apk文件 阿狸影视v1.0.0(电视直播视频)电视盒 apk文件 阿狸影视v1.0.0(电视直播视频)电视盒 apk文件 阿狸影视v1.0.0(电视直播视频)电视盒 apk文件 阿狸影视v1.0.0(电视直播视频)电视盒 apk文件 阿狸...
Yzncms内容管理系统(又名御宅男cms)是完全开源的项目,基于...本系统从0开始发布 TP新手可以看看如何写一个cms 任何问题都可以提交到码云的issues里 Yzncms内容管理系统截图 相关阅读 同类推荐:站长常用源码
Spring Data JDBC 1.0.0.RC1 是Spring框架中针对关系数据库的数据访问组件的一个重要版本,它为开发者提供了简化数据库操作的强大工具。该版本的发布标志着Spring Data项目在JDBC支持上迈出了坚实的一步,旨在提升...
手机解锁测试_v1.0.0.apk
"青春飞扬 v1.0.0"是一款专为新闻发布打造的应用程序,旨在提供高效、便捷的信息发布和管理平台。作为一款新闻发布的专业软件,它的核心功能包括内容编辑、分类管理、发布控制以及用户互动等,旨在满足不同类型的...
2. **增量加载**:通过使用 `last_run_metadata_path` 配置选项,JDBC 插件能够记录每次运行的最后一个时间戳,从而在下次运行时只获取自上次以来的新数据。 3. **数据库连接管理**:配置包括数据库URL、用户名、...
百度语音桌面DuerOS_V1.0.0
基于PHP的宅男视频网站php版v1.0.0源码.zip 基于PHP的宅男视频网站php版v1.0.0源码.zip 基于PHP的宅男视频网站php版v1.0.0源码.zip 基于PHP的宅男视频网站php版v1.0.0源码.zip 基于PHP的宅男视频网站php版v1.0.0源码...
DS-TPE3XX_Driver_build20200323_V1.0.0.exe
标题中的“ipxe-git-v1.0.0.tar.gz”是一个软件版本的压缩包,它表明我们正在处理IPXE项目的Git版本控制下的v1.0.0版本。IPXE(Internet Protocol eXecutive)是一个开源的网络引导程序,用于远程启动计算机,支持...
在这个过程中,`aom-v1.0.0.errata.1.tar.gz`是一个重要的组件,它是Google开放媒体联盟(Alliance for Open Media, AOMedia)的AV1编码器开源实现——AOMedia Video 1(AV1)的一个版本。AV1是一种高效、开放标准的...