使用JDBC连接Mysql

6 篇文章 0 订阅
3 篇文章 0 订阅
使用JDBC连接Mysql
 
预备工作

 

下面正式开始
A.   因为会使用 Connection,Statement,ResultSet , 因此需要 import java.sql.*;
B.   连接数据库中可能会抛出异常 , 所以所有语句放在 try
C.   定义一些常用变量 ( 都可以见名识义的 ) , 方便下面的语句 , 也可以让程序更容易理解 , 具体见代码
 
具体步骤:
 
Step1: 装载驱动类
见后面代码
 
Step2: 连接数据库
使用 DriverManager 的静态方法 getConnection 完成 , 返回一个 connection 的对象 , 这就是连接上指定数据库的连接 , 这个连接是十分宝贵的资源 , 应及时关闭 .
 
Step3: 操作数据库
Statement 对象里通常放 sql 语句 , ResultSet 是查询返回的结果集 , 具体见下面的代码
 
import  java.sql. * ;


class  linkMysqlByJDBC  {
    
public static void main(String[] args){
        
try{
            String driver 
= "org.gjt.mm.mysql.Driver";                 //驱动类
            String url = "jdbc:mysql://localhost:3306/TestDB";
            
//连接字符串 其中TestDB是数据库名
            String username = "root";                                                //用户名
            String password = "123654";                                              //密码

            Connection con 
= null;
            Statement sm 
= null;
            ResultSet rs 
= null;
            
            
//Step1//
            Class.forName(driver);
            
            
//Step2//
            con = DriverManager.getConnection(url, username, password);

            
//Step3//
            String sql = "insert into t values('Pitt','Pitt@gmail.com')";
            sm 
= con.createStatement();

            sm.execute(sql);

            String sql2 
= "select * from t";
            rs 
= sm.executeQuery(sql2);
            
while (rs.next()) {
                System.out.println(rs.getString(
"Name"+ " " +
                rs.getString(
"Email"));
            }


            con.close();
        }
catch(Exception e){
            e.printStackTrace();
        }

    }

}
 
 
改进
 
why?
 
获取驱动类名,连接字符串,用户名,密码进行了”硬编码”,这样做有两个坏处:
A.        不安全
这些信息应该被隐藏起来,不能被别人轻易看到.
B.        麻烦而又不容易维护
一个项目中肯定很多地方都会用到这4个参数,如果每一次都重复写,很麻烦而且容易出错.
 
how?
 
A.        应用处理资源文件的类
B.        数据源技术
 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值