zoukankan      html  css  js  c++  java
  • MyBatis 学习总结(一)

    1.原生JDBC(Java database connectity)操作数据库(以MySQL数据为例)步骤
    1.1 加载驱动

    Class.forName("com.mysql.jdbc.Driver");

    1.2 创建数据库连接

    String url = "jdbc:mysql://localhost:3306/test?characterEncoding=utf-8";
    String name = "root";
    String passwoed = "root123";
    Connection conn = DriverManager.getConnection(url,name,password);

    1.3 创建预编译陈述对象

    String sql = "SELECT * FROM T_USER WHERE NAME = ?";
    PreparedStatement ps = conn.prepareStatement(sql);
    ps.setString(1,"Jobs");//为预编译sql传参

    1.4 获取结果

    ResultSet rs = ps.executeQuery();

    1.5 处理结果

    if(rs != null) {
        while(rs.next()){
            System.out.println(rs.getString("id")+rs.getString("pwd"));
        }
    }

    1.6 释放资源(这里以rs为例,ps与conn对象均一样)

    if (rs != null) {
        try {
            rs.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    2.原生JDBC编码的缺点

    1.1 浪费系统资源
    数据库的连接,使用时就创建不使用时就释放,一开一闭,对数据库进行频繁的操作,导致资源严重的被浪费。
    1.2 可移植性差
    sql语句被写到了java的代码中,如果数据库的表改变了,那么就得重新的编写java类。
    1.3 传参与结果处理复杂
    sql语句设置参数比较麻烦,必须的确定参数的位置,要不然会出错。获取结果时存在大量的手工操作,如果一张表里有10几个字段的话,手工就得写10几条rs.get语句,造成大量的重复工作。

  • 相关阅读:
    Python学习笔记
    AC自动机跟随Kuangbing学习笔记
    【后缀数组】【poj2774】【 Long Long Message】
    【思路题】【多校第一场】【1001.OO’s Sequence】
    【求出所有最短路+最小割】【多校第一场】【G题】
    【后缀数组学习中】
    【关于字符串要补的题】
    49.运维6-ansible
    48.python&&django时区转化
    47.python脚本自定义token验证
  • 原文地址:https://www.cnblogs.com/liqingdong/p/6077010.html
Copyright © 2011-2022 走看看