Java 笔记 28:sql

Java 笔记 28

sql

java.sql包和javax.sql包

  • JDBC是代表一组公共的接口。
  • JDBC中的这些公共接口和DBMS数据库厂商提供的实现类(驱动jar),是为了实现Java代码可以连接DBMS,并且操作它里面的数据而声明的。
  • 常用的接口:
  • Connection:连接
  • Statement和PreparedStatement:增删改查
  • ResultSet:接收和处理查询结果
  • 辅助的类:
  • DriverManager:驱动管理类。
  • JDBC程序的编写步骤:
  • 1、注册驱动(如果这步不做,编译不会报错,运行会报找不到驱动类等异常)
  • java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/test
    
  • 2、连接数据库:
  •  DriverManager和Connection
    
  • 3、操作数据库
  • (1)增、删、改:Statement或PreparedStatement
  • (2)查询:Statement或PreparedStatement
  •  	ResultSet
    
  • 4、断开连接,关闭对应各种资源
  • url:统一资源定位符,通俗的讲就是网址
  • url是用来定位到①哪台电脑上的②哪种DBMS数据库软件,③访问哪个数据库,这个DBMS软件目前运行在④哪个断开号⑤连接这个DBMS软件是否还需要其他的参数。
    
  • url的标准格式:
    
  • 		协议://主机名:端口号/资源路径
    
  • mysql:
  •  jdbc:mysql://主机名:端口号/数据库名?其他的参数
    
  • 例如:
    
  • 	jdbc:mysql://localhost:3306/test
    
  • 注册驱动三部曲:
  • (1)把jar放到项目的libs中
  • (2)把jar添加到build path中
  • 在jar包上选择右键,Build Path–>Add to Build Path
  • (3)在代码中注册驱动

步骤:

  • 1、注册驱动
  • 三部曲:(1)把jar复制到libs(2)把jar添加到Build path中(3)加载驱动类
  • 2、建立连接
  • 获取Connection对象
  • 3、执行sql
  • (1)编写sql
  • (2)创建Statement
  • (3)执行sql
  • 增删改:int len = Statement对象.executeUpdate(sql)
  • 查询:ResultSet rs = Statement对象.executeQuery(sql)
  • 4、遍历结果集
  • 5、关闭资源

Statement问题:

  • 1、SQL拼接:太麻烦
  • 2、SQL注入
  • 3、无法处理blob等二进制类型的数据
  • 如何解决这些问题,使用Statement的子接口PreparedStatement

猜你喜欢

转载自blog.csdn.net/qq_40473204/article/details/107893546