mybatis框架入门(一)

一.原生态的JDBC的问题

  1. 先看一个jdbc的一个实例
    @Test
    public void ConnectionToMysql4() {
    //定义引用
    Connection con=null;
    PreparedStatement pstmt=null;
    ResultSet rs=null;
    try {
    /**
    * 1.连接数据库
    */
    String driverClassName=”com.mysql.jdbc.Driver”;
    String url=”jdbc:mysql://localhost:3306/UserLogin”;
    String username=”root”;
    String password=”123456”;

    Class.forName(driverClassName);
    con=DriverManager.getConnection(url, username, password);
        /**
         * 2.得到PrepareStatement
         *  >给出sql模板,所有参数用?代替
         *  >调用Connection方法,得到PrepareStatement
         *  
         */
    

    String sql=”select * from userinformation where username=? and password=?”;
    pstmt=con.prepareStatement(sql);
    /**
    * >为参数赋值
    */
    pstmt.setString(1,”yyy”);//给第一个问号赋值
    pstmt.setString(2,”123”);//给第二个问号赋值

    rs=pstmt.executeQuery();//调用查询方法,向数据库发送查询语句
    

    // System.out.println(sql);
    System.out.println(rs.next());
    // while(rs.next()){
    // System.out.println(rs.getString(0)+” “+rs.getString(1));
    // }

    } catch (Exception e) {
         throw new RuntimeException(e);
    
    }finally{
        //关闭
          try {
            if(rs!=null)rs.close();
            if(pstmt!=null) pstmt.close();
            if(con!=null)  con.close();
           } catch (SQLException e) {
            e.printStackTrace();
        }
    
    }
    

    }
    2.总结jdbc的问题如下:
    a.数据库连接使用时创建,不使用时就释放,对数据库频繁的开启和关闭,造成数据库资源的浪费,影响数据库的性能。
    改善:那么能不能用数据库连接池来管理呢?
    b.将sql语句硬编码到java中,如果sql语句修改了,需要重新java代码,不利于系统维护。
    改善:能不能将sql语句添加到xml配置文件中呢,即使sql语句改变了,也不需要重新编译。
    c.向preparedStatement中设置参数,用占位符设置参数值,硬编码到java代码中,不利于系统的维护。
    改善:能不能将sql语句及占位符号和全部参数配置到xml文件中?
    d.从ResultSet中遍历结果数据时,存在硬编码的问题,将获取表的字段硬编码,不利于系统维护。
    改善:能不能将结果集自动映射成java对象。

二.mybatis的简介

  1. mabatis是什么
    a.mybatis是apache下的顶级项目,后托管到google、github.
    b.mabatis将程序主要sql上,通过mabatis提供的映射方式,自由灵活的生成(半自动化,大部分需要程序员编写sql)满足需要的sql语句。
    c.mybatis可以将preparestatement中输入的参数自动进行输入映射,将查询结果自动映射成java对象(输出映射)。

  2. mybatis框架图解
    这里写图片描述
    至此,mybatis基本结构已介绍完。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值