数据库的链接步骤以及数据库工具类的书写

<1>数据库的链接步骤(以链接mysql数据库为例子):

1.注册驱动:注册驱动两种方法,

(1)DriverManager.registerDriver(new Driver())(浪费资源)。

(2) Class.forName("com.mysql.jdbc.Driver)(常用方法)。

2.获得链接:

String url = "jdbc:mysql://localhost:3306/mybase";

String username = "root";

String password = "123";

Connection con = DriverManager.getconnection(url,username,password);

3.获得语句执行平台:

Statement stat = con.createStatement();(有被注入攻击的风险一般不用,一般用他的子类prepareStatement)。 

preparement  pst = con.prepareStatement(sql);

4.执行sql语句以及处理结果:

int executeUpdate (String sql)执行sql语句的insert,Update,delete,执行成功返回行数

ResultSet executeQuery (String sql) 执行sql语句的select操做  ,返回值为ResultSet接口;可用此接口中的方法获取每列数据。

例:

ResultSet rs = stat.executeQuery(sql);

while(rs.next())

{  

System.out.println(rs.getInt("sid")+rs.getString("sname")+rs.getdouble("sprice")+rs.getInt("sdesc"));}

5.释放资源:就是调用close()方法。

完整的实例:

public static void main(String[] args)

{  Class.forName("com.mysql.jdbc.Driver);

String url = "jdbc:mysql://localhost:3306/mybase";

String username = "root";

String password = "123";

Connection con = DriverManager.getconnection(url,username,password);

String sql = "Update sort SET sname = ?,sprice = ? where sid = ?";

prepareStatement pst = con.prepareStatement(sql);

pst.setobject(1,"汽车美容");

pst.setobject(2,498888);

pst.setobject(3,7);

pst.executeUpdate();

pst.close();

con.close();}

<2>数据库工具类的书写(以链接mysql数据库为例)

由于数据库的链接的前面三步后最后一步的书写方式基本固定,所以没有必要每次链接时都去书写,所以书写数据库工具类方便数据库的链接。由于链接不同的数据库会有不同的驱动和获得链接等,所以用以下工具类来链接数据库,方便链接不同数据库时修改。

package 数据库连接;

import java.io.IOException;
import java.io.InputStream;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
import java.sql.Connection;

public class JDBCUtilsconfig {
private static Connection con;  
private static String driverClass;
private static String url;
private static String username;
private static String password;
static {
    
    readconfig();
    try {
        Class.forName(driverClass);
    } catch (ClassNotFoundException e) {
       
        e.printStackTrace();
    }
    try {
        con = DriverManager.getConnection(url, username, password);
    } catch (SQLException e) {
   
        e.printStackTrace();
    }
}
private static void readconfig()
{  
    InputStream  in = JDBCUtilsconfig.class .
        getClassLoader().getResourceAsStream("database.properties");
    Properties pro = new Properties();
    try {
        pro.load(in);
    } catch (IOException e) {
      
        e.printStackTrace();
    }
    driverClass  = pro.getProperty("driverClass");
    url = pro.getProperty("url");
    username = pro.getProperty("username");
    password = pro.getProperty("password");
    
}
public static  Connection getConnection() { 
    return con;    
}

public static void close(Connection con,Statement stat){
         
         if(stat!=null){
             try{
                 stat.close();
             }catch(SQLException ex){}
         }
         
         if(con!=null){
             try{
                 con.close();
             }catch(SQLException ex){}
         }
         
    }
    public static void close(Connection con,Statement stat , ResultSet rs){
         if(rs!=null){
             try{
                 rs.close();
             }catch(SQLException ex){}
         }
         
         if(stat!=null){
             try{
                 stat.close();
             }catch(SQLException ex){}
         }
         
         if(con!=null){
             try{
                 con.close();
             }catch(SQLException ex){}
         }
         
    }

}

在Java工程中添加新文件,文件名database.properties,在文件下写入:

driverClass=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybase
username=root
password=123

//当链接地址发生修改时,可直接在文件中修改即可

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

psjasf1314

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值