java连接数据库增、删、改、查工具类
- 格式:docx
- 大小:22.13 KB
- 文档页数:46
java连接数据库增、删、改、查工具类
java连接数据库增、删、改、查工具类
这篇文章主要介绍了java连接数据库增、删、改、查工具类,需要的朋友可以参考下
java连接数据库增、删、改、查工具类
数据库操作工具类,因为各厂家数据库的分页条件不同,目前支持Mysql、Oracle、Postgresql的分页查询
在Postgresql环境测试过了,其他数据库未测试。
sql语句需要使用预编译形式的
复制代码代码如下:
packagedb;
ng.annotation.ElementType;
ng.annotation.Retention;
ng.annotation.RetentionPolicy;
ng.annotation.Target;
ng.reflect.Field;
importjava.sql.Connection;
importjava.sql.Date;
importjava.sql.Driver;
importjava.sql.DriverManager;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;
importjava.sql.Time;
importjava.sql.Timestamp;
importjava.util.ArrayList;
importjava.util.List;
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;
importjavax.naming.NamingException;
importjavax.sql.DataSource;
/
数据库查询工具类
使用预编译的sql
@authorXueLiang
/
publicclassDBUtil{
privatestaticStringdriver;
privatestaticDataSourceds=null;
privatestaticStringurl="jdbc:postgresql://192.168.56.101/db";
privatestaticStringuser="test";
privatestaticStringpassword="12345678";
static{
try{
Class.forName("org.postgresql.Driver");
//ds=(DataSource)SpringContextUtil.getBean("dataSource");
}catch(Exceptione){
e.printStackTrace();
}
}
/
建立连接
@returnconConnection
@throwsException
/
privatestaticConnectiongetConnection()throwsException{
Connectionconn=DriverManager.getConnection(url,user,password);
//Connectionconn=ds.getConnection();
Driverd=DriverManager.getDriver(conn.getMetaData().getURL());
driver=d.getClass().getName();
returnconn;
}
/
关闭连接
@paramconn
@paramstmt
@parampreStmt
@paramrs
@throwsSQLException
/
privatestaticvoidreplease(Connectionconn,Statementstmt,ResultSetrs)throwsSQLException{
if(rs!=null){
rs.close();
rs=null;
}
if(stmt!=null){
stmt.close();
stmt=null;
}
if(conn!=null){
conn.close();
conn=null;
}
}
/
利用正则表达式,获得SELECTSQL中的列名
@paramsql
@return
/
privatestaticListgetColumnsFromSelect(Stringsql){
ListcolNames=newArrayList();
//取出sql中列名部分
Patternp=pile("(?i)select\\s(.?)\\sfrom.");
Matcherm=p.matcher(sql.trim());
String[]tempA=null;
if(m.matches()){
tempA=m.group(1).split(",");
}
if(tempA==null){
returnnull;
}
Stringp1="(\\w+)";
Stringp2="(?:\\w+\\s(\\w+))";
Stringp3="(?:\\w+\\sas\\s(\\w+))";
Stringp4="(?:\\w+\\.(\\w+))";
Stringp5="(?:\\w+\\.\\w+\\s(\\w+))";
Stringp6="(?:\\w+\\.\\w+\\sas\\s(\\w+))";
Stringp7="(?:.+\\s(\\w+))";
Stringp8="(?:.+\\sas\\s(\\w+))";
p=pile("(?:"+p1+"||"+p2+"||"+p3+"||"+p4
+"||"+p5+"||"+p6+"||"+p7+"||"+p8+")");
for(Stringtemp:tempA){
m=p.matcher(temp.trim());
if(!m.matches()){
continue;
}
for(inti=1;i<=m.groupCount();i++){
if(m.group(i)==null||"".equals(m.group(i))){
continue;
}
colNames.add(m.group(i));
}
}
returncolNames;
}