JDBC学习----注册驱动与获取连接

import java.sql.*;

/**
 * @author zzw
 * @create 2020/11/05-10:06
 */
 //怎么导入jar包:1.file-->project structure-->library-->中间的+号-->java-->把我们的jar包复制到当前工程或模块下的某个目录添加到这里(或者jar包所在的地方)
//连接之前,先导入jar包,在模块那右键,打开下面的open module settings
//然后点击libraries(库的意思),点击+号,点击Java,选择自己要选择的模块,点击应用点ok.
public class JDBCtest01 {
    public static void main(String[] args) throws SQLException {

        //本来这两个是写到里面的,但是因为在try的括号中,finally中就不能用了,所以拿了出来。
        Connection conn=null;
        Statement stmt=null;
        try {
            //1.注册驱动
            //驱动接口            实现类(特定包下的实现类)      接口不能自己new自己,所以找他的实现类   多态,父类型引用指向子类型对象
            //所以这里是创建了一个驱动,告诉Java我们连接的是MySQL的数据库
            Driver driver=new com.mysql.jdbc.Driver();
            // DriverManager 驱动管理器类,里面有很多的方法,registerDriver就是其中的一个方法
            // registerDriver ,静态的方法,驱动注册方法,括号中传一个驱动过来
            //这个方法有异常,往上抛就到main那里去了,不合适,所以try catch
            //对创建的驱动进行了注册
            DriverManager.registerDriver(driver);


            /**
             * http://182.61.200.7:80/index.html
             * http://  是通信协议                    jdbc:mysql://     协议
             * 182.61.200.7  是IP地址                127.0.0.1         ip地址
             * 80   是服务器端口号                    3306              端口号
             * index.html  是服务器上的某个资源名      20189350134       具体的数据库实例名
             *
             * 127.0.0.1 和localhost都是本机名
             */
            //2.获取连接
            String url="jdbc:mysql://127.0.0.1:3306/jdbc";
            String user="root";
            String password="a";
            //面向接口写代码,用接口的对象调方法,我认为中就像是猫狗多态中的动物接口
            //创建一个数据库连接的对象,驱动管理器类中有一个获取连接的方法,需要传3个参数
            conn=DriverManager.getConnection(url,user,password);
            System.out.println("数据库连接对象="+conn);


            //3.获取数据库操作对象(statement是专门执行SQL语句的)
            //createStatement这个方法也有异常,不过我们已经放到try里面了
            stmt=conn.createStatement();


            //4.执行sql
            String sql="insert into jdbc01(语文,数学,英语) values('1','1','1')";
            //专门执行DML语句的(insert delete update)
            //返回值是“影响数据库中的记录条数”
            int count =stmt.executeUpdate(sql);
            System.out.println(count==1?"保存成功":"保持失败");



        }catch (SQLException e){
            e.printStackTrace();
        }finally {
            //6。释放资源
            //为了保证资源一定释放,在finally语句块中关闭资源
            //并且要遵循从小到大依次关闭,分别对其try...catch
            try {
                if (stmt!=null){
                    stmt.close();
                }
            }catch (SQLException e){
                e.printStackTrace();
            }

            try {
                if(conn !=null){
                    conn.close();
                }
            }catch (SQLException e){
                e.printStackTrace();
            }
        }
    }
}
//如果运行保持,看看是不是sql语句写错了
//当报错是某一行的某一个的时候,如果就是找不到错,就整个句子看一看,比如因为数据库运行出现错误,是因为sql语句写错了
//如果运行结果和自己想的不一样,看看自己表的数据是不是被之前用过了,所以不一样













  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值