导航:首页 > 源码编译 > dbutil预编译

dbutil预编译

发布时间:2022-11-20 14:34:15

java如何关闭数据库连接呢

没异常,不过浪费资源,占着坑不拉,执行完一次数据库交互就要关闭一次
try{

sql...
}catch(...){
//异常信息
}finally{
rs.close();
stmt.close();
conn.close();
//关链接,释放资源
}
楼主说的关了不能执行肯定是把结果集返回,这样编程不行的,因为在上述操作中结果集已经关了,再返回就是空了,我们应该把数据返回,在
try{
list.add{rs.getObject(1)};
///
}
把数据装在list里面,返回list

❷ myeclipse中使用select语句查询mysql中的汉字,就是查不出来,也没有乱码,单独操作数据库时能查出来

老兄啊 当然有问题啦
Connection conn=DBUtil.getConnection();
PreparedStatement ps;
String sql="select * from department where dept_name like '%"+name+"%'";
ps = conn.prepareStatement(sql);
System.out.println("sql---"+sql);
ResultSet rs=ps.executeQuery();
System.out.println(rs);
while(rs.next()){

在这里你使用了预编译prepareStatement,但在在写SQL语句的时候你又用了字符串拼接,如果 你要使用字符串拼接,那么你就直接将这个查询的操作写到一个方法里面,然后将name的值当作参数传递进来。如果你想使用预编译,这里你就应该将name写成?,然后用ps.set(1,value)。我分析你的原因就是,你用了预编译却没有用set()方法赋值,用了字符串拼接却没有参name的值进来,最后like '%"+name+"%'"中的name始终是空的,所以查询不到结果!

❸ 怎样用myelipsel连接mysql 请各位前辈 指点指点

你先下个数据库驱动mysql-connector-java-5.1.7-bin.jar版本自己看
加到你的工程里
然后连数据库都是固定的步骤
加驱动,建立连接,语句,执行,结果,关闭。。。
参考
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DBUtil {

// public final static String DRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; // 数据库驱动
// public final static String URL = "jdbc:microsoft:sqlserver://localhost:1433;DataBaseName=bbs"; // url
// public final static String DBNAME = "sa"; // 数据库用户名
// public final static String DBPASS = "sa"; // 数据库密码

private static Connection conn=null;
private static Statement statement=null;
private static ResultSet rs=null;
private static String DRIVER = "com.mysql.jdbc.Driver";
// 设置url,注意连接的是哪一个数据库
private static String URL = "jdbc:mysql://localhost:3306/caiwu?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8";
public final static String DBNAME = "root"; // 数据库用户名
public final static String DBPASS = "admin";
/**
* 得到数据库连接
* @throws ClassNotFoundException
* @throws SQLException
* @return 数据库连接
*/
public static Connection getConn() throws ClassNotFoundException, SQLException{
Class.forName(DRIVER); //注册驱动
Connection conn = DriverManager.getConnection(URL,DBNAME,DBPASS); //获得数据库连接
return conn ; //返回连接
}

/**
* 释放资源
* @param conn 数据库连接
* @param pstmt PreparedStatement对象
* @param rs 结果集
*/
public static void closeAll( Connection conn, PreparedStatement pstmt, ResultSet rs ) {
/* 如果rs不空,关闭rs */
if(rs != null){
try { rs.close();} catch (SQLException e) {e.printStackTrace();}
}
/* 如果pstmt不空,关闭pstmt */
if(pstmt != null){
try { pstmt.close();} catch (SQLException e) {e.printStackTrace();}
}
/* 如果conn不空,关闭conn */
if(conn != null){
try { conn.close();} catch (SQLException e) {e.printStackTrace();}
}
}

/**
* 执行SQL语句,可以进行增、删、改的操作,不能执行查询
* @param sql 预编译的 SQL 语句
* @param param 预编译的 SQL 语句中的‘?’参数的字符串数组
* @return 影响的条数
*/
public int executeSQL(String preparedSql,String[] param) {
Connection conn = null;
PreparedStatement pstmt = null;
int num = 0;

/* 处理SQL,执行SQL */
try {
conn = getConn(); // 得到数据库连接
pstmt = conn.prepareStatement(preparedSql); // 得到PreparedStatement对象
if( param != null ) {
for( int i = 0; i < param.length; i++ ) {
pstmt.setString(i+1, param[i]); // 为预编译sql设置参数
}
}
num = pstmt.executeUpdate(); // 执行SQL语句
} catch (ClassNotFoundException e) {
e.printStackTrace(); // 处理ClassNotFoundException异常
} catch (SQLException e) {
e.printStackTrace(); // 处理SQLException异常
} finally {
closeAll(conn,pstmt,null); // 释放资源
}
return num;
}

}

❹ Apache Commons DbUtils 怎么实现 创建表的操作

关于Apache的DbUtils中间件或许了解的人并不多,大部分开发人员在生成环境中更多的是依靠Hibernate、Ibatis、Spring JDBC、JPA等大厂提供的持久层技术解决方案,或者是企业内部自己研发的持久层技术。但无论如何,使用这些技术的初衷和本质都是为了能够减少企业开发成本,提高生产效率,降低耦合。

放眼企业级项目,Hibernate等ORM产品是首选,而互联网领域,大部分开发人员往往并不会在生产环境中上这些ORM技术,原因很简单,要的就是效率,其次都不重要。对于刚接触SQL和JDBC的开发人员,最引以为傲的就是希望能够在日后编写复杂的SQL语句,以及会使用诸如Hibernate、Ibatis等第三方持久层技术,并且极力的撇清与传统JDBC技术的关系,但笔者不得不认为,这是一种普遍业界存在的“病态”!

如果是企业级的项目,尤其是跟金融相关的业务,SQL语句或许会非常复杂,并且关联着事物。但互联网项目却并非如此,在互联网项目中,看你牛不牛逼并不是取决于你能否写出一条复杂的SQL语句,而是看你能否将原本一条复杂的SQL语句拆散成单条SQL,一句一句的执行;并且脱离Hibernate等ORM产品后,能否使用传统的JDBC技术完成一条简单的CRUD操作,这才是牛逼!是的,你没有听错,互联网确确实实就是这么玩,还原最本质的东西,才是追求性能的不二选择。

笔者本章不会提及垂直分库、水平分区等数据库概念,以及数据路由中间件等技术(请阅读笔者博文《剖析淘宝TDDL—Matrix层分库分表实现》),因为这些内容与本章内容无关,但间接来看,笔者之前提及的单条SQL、使用JDBC完成基本的CRUD操作就可以在最大程度上满足一个互联网场景的持久层操作。以Hibernate为例,简单来说需要经历HQL->SQL->DBMS等编译过程,中间还冗余着缓存、对象等开销,希望大家记住,封装层次越高,性能越低!这个是无可争议的事实。笔者希望大家接下来,暂时“忘记”掉你所会的持久层技术,耐心的听笔者为你介绍Apache的DbUtils技术,或许你会有意想不到的收获。

❺ java如何关闭数据库连接


import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;


//一个数据库通用的帮助类,用于连接数据库与关闭数据库

public class DBUtil {

//第一步:声明你所需要的一些全局变量

private final static String DRIVER_CLASS="com.microsoft.sqlserver.jdbc.SQLServerDriver";//加载驱动的字符串

private final static String CONN_STR="jdbc:sqlserver://localhost:1433;databaseName=testDB";//数据库连接字符串

private final static String DB_USER="sa";//数据用户

private final static String DB_PWD="123456";//数据库登录密码

//第二步:加载数据库驱动(这里是sqlserver)

static{

try{

Class.forName(DRIVER_CLASS);

}catch(ClassNotFoundException e){

e.printStackTrace();//抛出异常

}

}

//第三步:获取数据库连接

public static Connection getConn(){

try {

return DriverManager.getConnection(CONN_STR,DB_USER,DB_PWD);

} catch (SQLException e) {

e.printStackTrace();

}

return null;

}

//最后关闭数据库连接

public static void closeConn(ResultSet rs,PreparedStatement pstmt,Connection conn){

try {

if (rs!=null) {//如果返回的结果集对象不能为空,就关闭连接

rs.close();

}

} catch (Exception e) {

e.printStackTrace();

}

try {

if (pstmt!=null) {

pstmt.close();//关闭预编译对象

}

} catch (Exception e) {

e.printStackTrace();

}

try {

if (conn!=null) {

conn.close();//关闭结果集对象

}

} catch (Exception e) {

e.printStackTrace();

}

}

}

❻ java怎样将数据库连接放回连接池中

1

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

//一个数据库通用的帮助类,用于连接数据库与关闭数据库
public class DBUtil {

//第一步:声明你所需要的一些全局变量
private final static String DRIVER_CLASS="com.microsoft.sqlserver.jdbc.SQLServerDriver";//加载驱动的字符串

private final static String CONN_STR="jdbc:sqlserver://localhost:1433;databaseName=testDB";//数据库连接字符串

private final static String DB_USER="sa";//数据用户

private final static String DB_PWD="123456";//数据库登录密码

//第二步:加载数据库驱动(这里是sqlserver)
static{

try{

Class.forName(DRIVER_CLASS);

}catch(ClassNotFoundException e){

e.printStackTrace();//抛出异常
}
}

//第三步:获取数据库连接
public static Connection getConn(){

try {

return DriverManager.getConnection(CONN_STR,DB_USER,DB_PWD);

} catch (SQLException e) {

e.printStackTrace();

}
return null;
}

//最后关闭数据库连接
public static void closeConn(ResultSet rs,PreparedStatement pstmt,Connection conn){

try {
if (rs!=null) {//如果返回的结果集对象不能为空,就关闭连接
rs.close();
}
} catch (Exception e) {

e.printStackTrace();
}

try {
if (pstmt!=null) {
pstmt.close();//关闭预编译对象
}
} catch (Exception e) {

e.printStackTrace();
}

try {

if (conn!=null) {
conn.close();//关闭结果集对象
}

} catch (Exception e) {

e.printStackTrace();
}
}
}

❼ myeclipse链接sql数据库的类的代码怎么写

前期准备工作,安好JDK,MyEclipse。
下载JDBC驱动mysql-connector-java-5.0.5-bin.jar导入到工程中去
1、工程(右键)--buildpath--configurebuildpath--addexternaljars。
2、也可以加到classpath中去,具体如下:“我的电脑”->“属性”->“高级”->“环境变量”,在系统变量那里编辑classpath,将D:mysql-connector-java-5.0.5mysql-connector-java-5.0.5-bin.jar加到最后,在加这个字符串前要加“;”,以与前一个classpath区分开,然后确定。
测试代码:所用驱动mysql-connector-java-5.0-nightly-20071116-bin.jar
程序中引用必要的包:importjava.sql.*;//它包含有操作数据库的各个类与接口
1、加载合适的JDBC驱动程序
Class.forName(Driver);
MySQL驱动程序:com.mysql.jdbc.Driver
Oracle驱动程序:oracle.jdbc.driver.OracleDriver
SQLServer驱动程序:
com.Microsoft.jdbc.sqlserver.SQLServerDriver
2、建立数据库连接
与MySQL数据库连接的方法:
Connectioncon=DriverManager.getConnection(“jdbc:mysql://主机IP或主机名:3306/数据库名”,用户名,密码);
java.sql.DriveManager用来处理装载驱动程序并且为创建新的数据库连接提供支持;
–java.sql.Connection用于完成对特定定数据库的连接;
–java.sql.Statement用于对特定的数据库执行SQL语句;java.sql.Statement又包含了以下两个重要的子类型:
java.sql.PreparedStatement用于执行预编译的SQL语句;
java.sql.CallableStatement用于执行数据库中存储的过程的调用;
--java.sql.ResultSet用于保存查询所得的结果集
3、创建Statement对象
Statementst=con.createStatement();//最后可以不关闭,但推荐关闭
利用Statement对象可以执行静态SQL语句,静态SQL语句可以是Select语句、Delete语句、Update语句和Insert语句。
执行SQL语句
Statement接口提供了三种执行SQL语句的方法:executeQuery()、executeUpdate()和execute()。具体使用哪一个方法由SQL语句本身来决定。
方法executeQuery用于产生单个结果集的语句,例如SELECT语句等。
方法executeUpdate用于执行INSERT、UPDATE或DELETE语句以及SQLDDL(数据定义语言)语句,例如CREATETABLE和DROPTABLE。INSERT、UPDATE或DELETE语句的效果是修改表中零行或多行中的一列或多列。executeUpdate的返回值是一个整数,指示受影响的行数(即更新计数)。对于CREATETABLE或DROPTABLE等不操作行的语句,executeUpdate的返回值总为零。
方法execute用于执行返回多个结果集、多个更新计数或二者组合的语句。一般不会需要该高级功能。
①JDBC在编译时并不对将要执行的SQL查询语句作任何检查,只是将其作为一个String类对象,直到驱动程序执行SQL查询语句时才知道其是否正确。对于错误的SQL查询语句,在执行时将会产生SQLException。
②一个Statement对象在同一时间只能打开一个结果集,对第二个结果集的打开隐含着对第一个结果集的关闭。
③如果想对多个结果集同时操作,必须创建出多个Statement对象,在每个Statement对象上执行SQL查询语句以获得相应的结果集。
④如果不需要同时处理多个结果集,则可以在一个Statement对象上顺序执行多个SQL查询语句,对获得的结果集进行顺序操作。
str="insertintocustomervalues('wangyang',24,'beijing','[email protected]')";
intrecordNumber=st.executeUpdate(str);执行executeUpdate()方法返回该SQL语句涉及的记录数。
str="select*frommycustomer";//查询表中记录
ResultSetrs=st.executeQuery(str);由于SQL语句是select,用executeQuery()方法,返回一个结果集保存在ResultSet对象rs中。
4、分析ResultSet对象
①执行完毕SQL语句后,将返回一个ResultSet类的对象,它包含所有的查询结果。但对ResultSet类的对象方式依赖于光标(Cursor)的类型,而对每一行中的各个列,可以按任何顺序进行处理(当然,如果按从左到右的顺序对各列进行处理可以获得较高的执行效率);
ResultSet类中的Course方式主要有:
ResultSet.TYPE_FORWARD_ONLY(为缺省设置):光标只能前进不能后退,也就是只能从第一个一直移动到最后一个。
ResultSet.TYPE_SCROLL_SENSITIVE:允许光标前进或后退并感应到其它ResultSet的光标的移动情形。
ResultSet.TYPE_SCROLL_INSENSITIVE:允许光标前进或后退并不能感应到其它ResultSet的光标的移动情形。
ResultSet类中的数据是否允许修改主要有:
ResultSet.CONCUR_READ_ONLY(为缺省设置):表示数据只能只读,不能更改。
ResultSet.CONCUR_UPDATABLE:表示数据允许被修改。
可以在创建Statement或PreparedStatement对象时指定ResultSet的这两个特性。
Statementstmt=con.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);

PreparedStatementpstmt=con.PrepareStatement("insertintobookTablevalues(?,?,?)",ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
②ResultSet类的对象维持一个指向当前行的指针,利用ResultSet类的next()方法可以移动到下一行(在JDBC中,Java程序一次只能看到一行数据),如果next()的返回值为false,则说明已到记录集的尾部。另外JDBC也没有类似ODBC的书签功能的方法。
③利用ResultSet类的getXXX()方法可以获得某一列的结果,其中XXX代表JDBC中的Java数据类型,如getInt()、getString()、getDate()等。访问时需要指定要检索的列(可以采用int值作为列号(从1开始计数)或指定列(字段)名方式,但字段名不区别字母的大小写)。
示例:
while(rs.next()){
intid=rs.getInt("id");
Stringname=rs.getString("cName");
intage=rs.getInt("cAge");
Stringaddress=rs.getString("cAddress");
Stringemail=rs.getString("cEmail");
System.out.println(id+""+name+""+age+""+address+""+email);
}
获得结果集中的结构信息:利用ResultSet类的getMetaData()方法来获得结果集中的一些结构信息(主要提供用来描述列的数量、列的名称、列的数据类型。利用ResulSetMetaData类中的方法)。
ResultsetMetaDatarsmd=rs.getMetaData();
rsmd.getColumnCount();//返回结果集中的列数
rsmd.getColumnLabel(1);//返回第一列的列名(字段名)
例如:
Statementstmt=con.createStatement();
ResultSetrs=stmt.executeQuery("select*fromTableName");
for(inti=1;i<=rs.getMetaData().getColumnCount();i++)//跟踪显示各个列的名称
{System.out.print(rs.getColumnName(i)+" ");
}
while(rs.next())
{//跟踪显示各个列的值
for(intj=1;j<=rs.getMetaData().getColumnCount();j++)
{System.out.print(rs.getObject(j)+" ");
}
}
5、关闭连接
(注意关闭的顺序)例:
rs.close();
st.close();
con.close()
6、JDBC的常用API
一、Connection接口:
1.createStatement():创建数据库连接
2.prepareStatement(Stringsql):创建预处理语句
3.prepareCall(Stringsql):创建可调用语句
4.getAutoCommit():获取自动提交的模式
5.setAutoCommit():设置自动提交的模式
6.commit():提交所执行的SQL语句
7.rollback():回滚所执行的SQL语句
8.getMetaData():获取一个DatabaseMetaData对象,该对象包含了有关数据库的基本信息
9.close():关闭数据库连接
10.isClose():判断数据库连接是否超时或被显示关闭
二、Statement接口:
1.execute(Stringsql):执行SQL语句,如果返回值是结果集则为true,否则为false
2.executeQuery(Stringsql):执行SQL语句,返回值为ResultSet
3.executeUpdate(Stringsql):执行SQL语句,返回值为所影响的行数
4.addBatch(Stringsql):向当前Statement对象的命令列表中添加新的批处理SQL语句
5.clearBatch():清空当前Statement对象的命令列表
6.executeBatch():执行当前Statement对象的批处理语句,返回值为每个语句所影响的函数数组
7.getConnection():返回创建了该Statement对象的Connection对象
8.getQueryTimeout():获取等待处理结果的时间
9.setQueryTimeout():设置等待处理结果的时间
三、ResultSet接口:
1.first()/beforeFirst():将游标移动到ResultSet中第一条记录(的前面)
2.last()/afterLast():将游标移动到ResultSet中最后一条记录(的后面)
3.absolute(intcolumn):将游标移动到相对于第一行的指定行,负数则为相对于最后一条记录
4.relative(introws):将游标移动到相对于当前行的第几行,正为向下,负为向上
5.next():将游标下移一行
6.previous():将游标上移一行
7.insertRow():向当前ResultSet和数据库中被插入行处插入一条记录
8.deleteRow():将当前ResultSet中的当前行和数据库中对应的记录删除
9.updateRow():用当前ResultSet中已更新的记录更新数据库中对应的记录
10.cancelUpdate():取消当前对ResultSet和数据库中所做的操作
11.findColumn(StringcolumnName):返回当前ResultSet中与指定列名对应的索引
12.getRow():返回ResultSet中的当前行号
13.refreshRow():更新当前ResultSet中的所有记录
14.getMetaData():返回描述ResultSet的ResultSetMetaData对象
15.isAfterLast():是否到了结尾
16.isBeforeFirst():是否到了开头
17.isFirst():是否第一条记录
18.isLast():是否最后一条记录
19.wasNull():检查列值是否为NULL值,如果列的类型为基本类型,且数据库中的值为0,那么
这项检查就很重要。由于数据库NULL也返回0,所以0值和数据库的NULL不能区分。如果列的类型为对象,可以简单地将返回值与null比较
20.close():关闭当前ResultSet
四、ResultSetMetaData接口:
1.getColumnCount():返回ResultSet中列的数目
2.getColumnName():返回列在数据库中的名称
3.getColumnType():返回列的SQL类型
4.isReadOnly():表示该数据项是否为只读值
5.isNullable():表示该列是否可以存储NULL

示例:

importjava.sql.*;

publicclassJDBCTest{

publicstaticvoidmain(String[]args){

//驱动程序名
Stringdriver="com.mysql.jdbc.Driver";

//URL指向要访问的数据库名scutcs
Stringurl="jdbc:mysql://127.0.0.1:3306/test";

//MySQL配置时的用户名
Stringuser="root";

//MySQL配置时的密码
Stringpassword="123456";

try{
//加载驱动程序
Class.forName(driver);

//连续数据库
Connectionconn=DriverManager.getConnection(url,user,password);

if(!conn.isClosed())
System.out.println("!");

//statement用来执行SQL语句
Statementstatement=conn.createStatement();

//要执行的SQL语句
Stringsql="select*frompet";

//结果集
ResultSetrs=statement.executeQuery(sql);

System.out.println("-----------------");


Stringname=null;

while(rs.next()){

//选择sname这列数据
name=rs.getString("name");

//首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。
//然后使用GB2312字符集解码指定的字节数组
name=newString(name.getBytes("ISO-8859-1"),"GB2312");

//输出结果
System.out.println(rs.getString("ID")+" "+name);
}

rs.close();
conn.close();

}catch(ClassNotFoundExceptione){


System.out.println("Sorry,can`tfindtheDriver!");
e.printStackTrace();


}catch(SQLExceptione){


e.printStackTrace();


}catch(Exceptione){


e.printStackTrace();


}
}
}

❽ 在java中如何实现预编译

/*
* ProCompile.java *预处理要编译的文件,删除多余的空白,注释,换行,回车等
* Created on 2007年9月18日, 下午8:58 */ package javacompile; import java.io.*;
import java.util.regex.*;
import javax.swing.JOptionPane; /** * @com.junjian.sun public class PerCompile { File f = null;
String fileString = null;
Pattern p = null;
Matcher m = null;
String regex; //正则表达式 //初始化p
public PerCompile() {
regex ="(//.+)" + //(//.+) 对应单行注释
//"|(/\\*(.+\\n)+\\*/)"+ // 想对应多行注释... "|(\\r\\n)" + "|(\\n)"+//(\\r\\n)|(\\n)对应换行
"|(\\B\\s+)" ; // 空白符
String ss;
f = new File(new JOptionPane()
.showInputDialog("请输入文件所在路径~"));
try {
BufferedReader bf = new BufferedReader(new FileReader(f));
ss = bf.readLine()+"\n";
fileString = ss; //如果没有这两句,ss的开头会有“null”
while((ss = bf.readLine())!= null){
fileString += ss+"\n"; bf.close();
} catch (IOException ex) {
ex.printStackTrace(); p = Pattern.compile(regex);
m = p.matcher(fileString); //执行替换所有多余空行,空白符,注释
void Dels(){
System.out.println("before: "+fileString);
if(m.find()) System.out.println("find!!");
System.out.println(m.replaceAll("")); } }

-

❾ 用DButil怎么执行批处理

刚刚做这个有关的项目 帮你解答下啦
批量执行删除操作
QueryRunner runQuery = new QueryRunner(dataSource);
runQuery.batch(sql,object); // sql : "DELETE FROM english WHERE id = ? "
// 第二个参数是个 Object 类型的二维参数 第一列是执行的个数
// 第二列是 预编译 ? 号对应的值 因此预编译是可有多个 ? 号
含金量主要是那个 二维数组
参考资料:DButil 源码 及其使用
再不懂的话 问度娘吧

❿ java连接数据库在什么位置关闭连接

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

//一个数据库通用的帮助类,用于连接数据库与关闭数据库
public class DBUtil {

//第一步:声明你所需要的一些全局变量
private final static String DRIVER_CLASS="com.microsoft.sqlserver.jdbc.SQLServerDriver";//加载驱动的字符串

private final static String CONN_STR="jdbc:sqlserver://localhost:1433;databaseName=testDB";//数据库连接字符串

private final static String DB_USER="sa";//数据用户

private final static String DB_PWD="123456";//数据库登录密码

//第二步:加载数据库驱动(这里是sqlserver)
static{

try{

Class.forName(DRIVER_CLASS);

}catch(ClassNotFoundException e){

e.printStackTrace();//抛出异常
}
}

//第三步:获取数据库连接
public static Connection getConn(){

try {

return DriverManager.getConnection(CONN_STR,DB_USER,DB_PWD);

} catch (SQLException e) {

e.printStackTrace();

}
return null;
}

//最后关闭数据库连接
public static void closeConn(ResultSet rs,PreparedStatement pstmt,Connection conn){

try {
if (rs!=null) {//如果返回的结果集对象不能为空,就关闭连接
rs.close();
}
} catch (Exception e) {

e.printStackTrace();
}

try {
if (pstmt!=null) {
pstmt.close();//关闭预编译对象
}
} catch (Exception e) {

e.printStackTrace();
}

try {

if (conn!=null) {
conn.close();//关闭结果集对象
}

} catch (Exception e) {

e.printStackTrace();
}
}
}

阅读全文

与dbutil预编译相关的资料

热点内容
安装包加密有什么用 浏览:584
舍利子灵力算法 浏览:501
javacalendar天数 浏览:567
anyview阅读器java 浏览:361
怎么降为安卓10 浏览:996
javaweb程序设计郭 浏览:249
gm声望命令 浏览:486
pdf转换器电脑版免费 浏览:43
解压歌曲什么歌最好 浏览:153
诺贝尔pdf 浏览:969
云服务器快速安装系统原理 浏览:790
苹果腾讯管家如何恢复加密相册 浏览:117
手机软件反编译教程 浏览:860
sqlserver编程语言 浏览:650
gpa国际标准算法 浏览:238
服务器编程语言排行 浏览:947
怎么下载快跑app 浏览:967
小红书app如何保存视频 浏览:172
如何解开系统加密文件 浏览:811
linux切换root命令 浏览:283