JDBC开发过程以及配置文件的读写

来源:互联网 发布:在淘宝上买mp5 编辑:程序博客网 时间:2024/05/29 17:37

JDBC开发

 

JDBC的开发过程:

1.      首先建立数据库,插入表的记录,新建一个Java项目,在项目下建立lib文件,并把mysql驱动导入到Java项目中lib文件中。

2.      编写代码,并把mysql驱动加载到Java项目中,构建路径

推荐方法:class.froName(“com.mysql.jdbc.Driver”);

3.      建立连接

String url=”jdbc:mysql://localhost:3306/xsgl”:

String user=”root”:

Sting pass=”root”:

Connectioncon=DriverManager.getConnection(url,user,pass);

4.      创建Statement对象

Statementst=con.createStatement();

5.      执行

ResultSetrs=st.excuteQuery(sql);

6.      遍历结果集

while(rs.next()){

}

7.      关闭资源

rs.close();

st.close();

con.close()

注意:关闭资源之前,必须判断rs,st,con是否为空,如果为空就不需要关闭,否则关闭资源。//if(rs!=null || st!=null ||con!=null){

                      //关闭资源

                             rs.close();

st.close();

con.close()

}//if尽可能的写在finally中,确保资源的释放

Connection对象是非常稀有的资源,用完后必须马上释放,如果Connection不能及时、正确的关闭,极易导致系统宕机。Connection的使用原则是尽量晚创建,尽量早的释放。

为了确保资源的释放,尽量把资源释放代码放到finally语句块中。

 

Connection对象常用的方法有:

•        createStatement():创建向数据库发送sql的statement对象。

•        prepareStatement(sql) :创建向数据库发送预编译sql的PrepareSatement对象。

•        prepareCall(sql):创建执行存储过程的callableStatement对象。

•        setAutoCommit(boolean autoCommit):设置事务是否自动提交。

•        commit() :在链接上提交事务。

•        rollback() :在此链接上回滚事务。

Statement对象常用方法:

•        execute(String sql):用于向数据库发送任意sql语句

•        executeQuery(String sql):只能向数据发送查询语句。

•        executeUpdate(String sql):只能向数据库发送insertupdatedelete语句

•        addBatch(String sql) :把多条sql语句放到一个批处理中。

•        executeBatch():向数据库发送一批sql语句执行。

ResultSet对象常用的结果集进行滚动的方法:

•        next():移动到下一行

•        Previous():移动到前一行

•        absolute(int row):移动到指定行

•        beforeFirst():移动resultSet的最前面。

•        afterLast() :移动到resultSet的最后面。

提取代码到配置文件中,文件名.properties

在实际开发中为了避免数据库改动,需要把一些必要的代码写到一个单独的配置文件中,这就简化了对大量代码的改动:如

        在驱动连接数据库时,String url=”jdbc:mysql://localhost:3306/xsgl”:

String user=”root”:

Sting pass=”root”:

像这些代码都可以提取到配置文件中,在配置文件中就可以写为user=root

在写代码需要使用配置文件的内容时,

InputStream in=DBManager.class.getClassLoader().getResourceAsStream("db.properties");

Properties pro=newProperties();

try {

           pro.load(in);

       } catch (IOException e) {

           // TODO Auto-generated catch block

           e.printStackTrace();

       }

       driver=pro.getProperty("driver");

       url=pro.getProperty("url");

       user=pro.getProperty("user");

       password=pro.getProperty("password");

}catch(Exceptione){

}

通过输入流就可以读取获取到配置文件的内容,附加给创建的成员变量,并加以使用

当系统运行时,需要读取一下配置文件,以获取配置文件的内容