JDBC--访问数据库

1.JDBC是什么?

   JDBC(java database connectivity)Java数据库连接,是Java语言中用来规范客户端程序如何来     访问数据库【关系型数据库】的应用程序接口,提供了诸如查询和更新数据库中数据的方法

我们通常说的JDBC是面向关系型数据库的

 2.JDBC访问数据库需要用到的类、接口、方法

    2.1.java.sqlDriverManager--负责加载各种不同驱动程序(Driver),并根据不同的请求,    向调用者返回相应的数据库连接。 驱动程序,会将自身加载到DriverManager中去。 

   2.1.1数据驱动程序(Driver)--- 根据所连接的数据库不同需要下载对应数据库的驱动程序。

   例如:MySQL数据库----MySQL :: Download MySQL Connector/J (Archived Versions)

     mysql-connector-java-5.1.38-bin.jar

     通过java的反射机制,来给DriverManager,提供被加载的数据库驱动名称。

      Class.forName(“数据库驱动名称【包名+类名】”);

     数据库驱动名称来自mysql-connector-java-5.1.38-bin.jar中Driver的java类的全名称。

      Class.forName(“com.mysql.jdbc.Deiver”);

   2.1.2向调用者返回相应的数据库连接

         DriverManager类中的静态方法getConnection(url,username,password)向调用者返               回相应的数据库连接

         static  Connection   getConnection(url,username,password)

        参数url---指定被连接的数据库位置

        【jdbc:mysql://数据库服务器IP:端口/数据库名称】

        参数username---登陆数据库服务器的用户名

       参数password----登陆数据库服务器的密码

 2.2 java.sql包Connection接口---数据库连接,负责与进行数据库间通讯,SQL执行以及事务处    理都是在某个特定Connection环境中进行的。可以产生用以执行SQL的Statement

1.产生用以执行SQL的Statement

   Statement  createStatement()【用以执行SQL查询和更新(针对静态SQL语句和单次执行)】

   select   * from  t_user  where uid=12;[拼接字符串]

2.产生用以执行SQL的PreparedStatement。

       用于执行包含动态参数的SQL查询和更新(在服务器端编译,允许重复执行以提高效率)

       PreparedStatement  prepartatement(Sql)

       参数sql---包含动态参数的SQL语句

       select   * from  t_user  where uid=?;【需要给sql动态传递值】

        ?---占位符

2.3.java.sql包Statement接口---用以执行SQL查询和更新(针对静态SQL语句和单次执行)以

以执行SQL更新【insert/update/delete】

int executeUpdate(SQL)

参数SQL--[insert/update/delete]字符串类型的sql语句

以执行SQL查询[select]

ResultSet executeQuery(SQL)

参数SQL---[select]字符串类型的sql语句

 2.4 java.sql包PreparedStatement接口--用以执行包含动态参数的SQL查询和更新(在服务器端    编译,允许重复执行以提高效率)

          以执行SQL更新【insert / update /delete】

          int executeUpdate()

          以执行SQL查询【select】

          ResultSet    executeQuery()

          注意:PreparedStatement需要执行的sql语句

  1. sql语句是在创建PreparedStatement对象的时候传入执行,不是在调用executeUpdate()/executeQuery()的时候传入。
  2. PreparedStatement对象所执行的sql语句中有“?【占位符】”

          有一组填补sql语句占位符的方法

           setInt(参数1,参数2)  int--int

           setLong(参数1,参数2)  long---bigint

           setDouble(参数1,参数2) double--double

  setString(参数1,参数2)  String--varchar/char

           .....................

           参数1---SQL语句中“?”的位置【从1开始】

           参数2---SQL语句中“?”具体数据值

   2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值