JDBC

JDBC

jdbc就是javadatabaseconnector
它主要有几个东西
1.注册驱动
DriverMager 这个对象可以注册驱动,一般我们使用class.forName("");
2.获取连接
得到connection对象 获得connection对象后,可以通过connection获得statment催啊ing
3.获得statement对象 ,这个对象只能操作静态的sql语句而不能操作可变的sql语句。
4.得到结果ResultSet对象
6.关闭连接

如一下代码

DriverManager.deregisterDriver(new Driver());
Connection connection = DriverManager.getConnection(“jdbc:mysql://xxxx:3306/test”,“root”,“liuyaoyaoge”);
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(“select *from student”);
//有关于result取值问题,result取值的话,这个Object会重载可以通过获取第几行或者通过哪个列来获取
Student student=new Student();
while (resultSet.next()){
int id = resultSet.getInt(“id”);
student.setId(id);
}
System.out.println(student);
//关闭连接
resultSet.close();
statement.close();
connection.close();

如果仅仅使用stament的话,会有sql注入问题。所以其提供了一个对象PrepareStament对象。使用的是占位符的方式。

package cn.chuan.test;

import cn.chuan.pojo.Student;
import com.mysql.jdbc.Driver;

import java.sql.*;

public class MyConnector02 {
    public static void main(String[] args) throws SQLException {
        DriverManager.registerDriver(new Driver());
        Connection connection = DriverManager.getConnection("jdbc:mysql://47.100.92.106/test","root","liuyaoyaoge");
        //再是哦那个prepareStment,它的处处理是使用占位符,并且需要提前写好sql语句,而不是并且
        PreparedStatement preparedStatement = connection.prepareStatement("select *from student where id=?");
        preparedStatement.setInt(1,1);
        ResultSet resultSet = preparedStatement.executeQuery();
        Student student = new Student();
        while (resultSet.next()){
            int id = resultSet.getInt(1);
            student.setId(id);
        }
        System.out.println(student);

    }
}

PreparementStament相对于Stament而言效率也比较快,并且能够防止Sql注入。

有关于JDBC中事务的处理:

 connection.setAutoCommit(false);//开启事务,在执行sql开始前
 connection.commint();//提交事务,在所有sql执行完候
 connection.rollback();//回滚事务,在发生异常后

当然在这个阶段还会有数据库连接池等操作,我想放到多线程的里面讲解,哪个时候又JUC等一些操作将会非常刺激。
由于上个阶段我完成了网络和jdbc基本操作,下一步我将进入mybatis和spring以及springmvc阶段,将更加刺激。。。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值