JDBC大致的学习手册

作者: dillqq | 来源:发表于2019-11-01 00:01 被阅读0次

    概念:将接口给各个厂家,对其进行实现。只需下载对应驱动jar,接口相同。

    讲解各个对象作用

    com.mysql 5后的驱动jar可以省略注册驱动
    com.mysql.jdbc.Driver中存在:静态块注册驱动(实际上是对DriverManager注册功能) 告诉程序应该那种数据库接口包

    1.DriverManager:

    作用:
    1.驱动管理对象
    2.获取数据库连接 .getConnection(url ,user, pwd); url=jdbc:///数据库名,默认localhost:3306

    2.Connection 数据库连接对象

    1.获取执行sql的对象
    Statement createStatement(sql)
    PreparedStatement PreparedStatement (sql)
    2.管理事务
    开启事务: void setAutoCommmit(boolean)
    回滚事务:rollback
    提交事务:commit()

    3.Statement

    执行静态sql
    boolean execute(sql)
    int executeUpdata(sql)DML,DDL操作(int 表示影响的行数大于0执行成功)
    ResultSet executeQuery(sql) 执行DQL

    4.ResultSet

    获取结果集
    booleannext();向下移动一行 返回是否还有下一行
    getxxx(参数 int或者string 编号或者名称);获取数据类型
    Classloader.getResource 获取src路径 URL

    5.preparStaement

    解决sql注入
    预编译sql:参数使用占位符? 注意在定义sql时使用?占位符取代参数
    获取对象是要传入sql
    给占位符赋值 用setxxx(index 编号位置,value 编号的值);
    执行sql
    boolean execute()
    int executeUpdata()DML,DDL操作(int 表示影响的行数大于0执行成

    JDBC控制事务

    概念:事务要么同时成功要么同时失败。
    使用Connection控制事务
    开启事务connection.setAutoCommit(false);
    提交事务connection.commit();
    回滚事务connection.rollback();放在异常中

    数据库连接池

    数据库连接池:就是一个容器集合,当数据初始化,连接被创建,用来访问数据库,使用完连接对象会把链接对象使用到容器中。

    实现:

    DataSource javax.sql包下
    获取连接 :getConnection()有驱动数据库厂商实现它
    归还连接: connection.close()实现归还connection必须是连接池中拿出的

    数据库连接池有两种

    1.C3PO:
    2.Druid:有阿里爸爸实现

    使用C3P0

    1.导入c3p0jar包 和驱动jar
    2.C3PO的配置名称c3po.properties或者c3po-config.xml自己搜索
    3.创建数据库连接池对象comboPoolDataSource对象
    4.获取连接对象getConnection()
    后面和JDBC没什么区别

    使用Druid

    1.导入c3p0jar包 和驱动jar
    2.配置文件
    propeerties 形式的自己获取
    3.创建数据库连接池对象DruidDataSourceFactory.createDataSource(加载配置路径)对象
    4.获取连接对象getConnection()
    后面和JDBC没什么区别

    定义一个工具类

    1.定义一个类
    2.提供静态代码块加载文件
    3.获取方法
    1.获取连接方法:通过数据库连接池获取
    2.释放资源
    3.获取连接池方法4

    Spring JDBC

    spring框架对JDBC的简单封装。提供了一个JDBCTemple简化JDBC的开发。
    1.导入jar
    2.创建JDBC对象,需要依赖于DataSource
    JDBCTemple temple = new JDBCTemple (DataSource);
    3.调用JDBCTemple 方法
    updata(sql,...indexvalue)方法 DML
    queryForMay(sql, ...indexvalue) 查询结果将结果封装到集合中
    缺陷:查询的结果集只能是一条,将列名为key,值为value
    List<Map<String,Object>>queryForList(sql, ...indexvalue) 查询结果将结果封装到集合中
    将每一条集合封装到Map装到list

    List<javabean名字> query(sql,new RowMapper<javabean名字>)查询结果将结果封装到javabean中需要实现方法

    或者List<javabean名字> query(sql,new BeanPropertyRowMapper<javabean名字>(javabean名字.class))

    一般用于执行聚合函数的
    返回的class queryForObject(sql,返回的class的Class)查询结果将结果封装到对象中

    相关文章

      网友评论

        本文标题:JDBC大致的学习手册

        本文链接:https://www.haomeiwen.com/subject/cgrtbctx.html