zoukankan      html  css  js  c++  java
  • Mybatis入门简版(一)

    一、Mybatis介绍

    MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码。

    二、jdbc问题总结如下:

    1. 数据库连接创建、释放频繁造成系统资源浪费,从而影响系统性能。如果使用数据库连接池可解决此问题。
    2. Sql语句在代码中硬编码,造成代码不易维护,实际应用中sql变化的可能较大,sql变动需要改变java代码。
    3. 使用preparedStatement向占有位符号传参数存在硬编码,因为sql语句的where条件不一定,可能多也可能少,修改sql还要修改代码,系统不易维护。
    4. 对结果集解析存在硬编码(查询列名),sql变化导致解析代码变化,系统不易维护,如果能将数据库记录封装成pojo对象解析比较方便。

     

    三、使用MyBatis需要进行配置

     

    要用到SqlMapConfig.xml和mapper.xml。

     

    SqlMapConfig.xml,此文件作为mybatis的全局配置文件,配置了mybatis的运行环境等信息。

    mapper.xml文件即sql映射文件,文件中配置了操作数据库的sql语句。此文件需要在SqlMapConfig.xml中加载。

     

    四、第一个MyBatis框架程序

     

    ------------------------------------Mybatis环境搭建----------------------------------------------------

    1. 导Jar包

      导三类:Mybatis核心jar,Mybatis所依赖的jar,数据库驱动(比如MySQL)

    mybatis-3.2.7.jar        mybatis的核心包

    lib文件夹            mybatis的依赖包所在

     

    1. 创建一个普通Java工程 并将jar包导到其下的lib目录且Build Path
    2. 导入数据库和POJO(也就是上学期的vo包)模块
    3. 创建相关配置文件

      Src/config下创建Mybatis核心配置文件:SqlMapConfig.xml

     

    如下(固定格式):

    <?xml version="1.0" encoding="UTF-8" ?>

    <!DOCTYPE configuration

    PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

    "http://mybatis.org/dtd/mybatis-3-config.dtd">

    <configuration>

        <!-- 和spring整合后 environments配置将废除 -->

        <environments default="development">

            <environment id="development">

                <!-- 使用jdbc事务管理 -->

                <transactionManager type="JDBC" />

                <!-- 数据库连接池 -->

                <dataSource type="POOLED">

                    <property name="driver" value="com.mysql.jdbc.Driver" />

                    <property name="url"

                        value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8" />

                    <property name="username" value="root" />

                    <property name="password" value="root" />

                </dataSource>

            </environment>

        </environments>

    </configuration>

     

    创建sqlmap/User.xml映射文件

    <?xml version="1.0" encoding="UTF-8" ?>

    <!DOCTYPE mapper

    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

    <!-- namespace:命名空间,用于隔离sql,还有一个很重要的作用,后面会讲 -->

    <mapper namespace="test">

    </mapper>

     

    1. 告诉核心配置文件我加了映射文件

       

      ---------------------------开始编写代码测试-------------------------------------------------------

      1. 创建如下:
      2. 编写如下Java调用Mybatis的代码:

         

      3. 编写SQL映射文件里的SQL语句(User.xml中)
      4. <!-- id:statement的id 或者叫做sqlid-->
      5.     <!-- parameterType:声明输入参数的类型 -->
      6.     <!-- resultType:声明输出结果的类型,应该填写pojo的全路径 -->
      7.     <!-- #{}:输入参数的占位符,相当于jdbc的? -->
      8.     <select id="queryUserById" parameterType="int"
      9.         resultType="cn.itcast.mybatis.pojo.User">
      10.         SELECT * FROM `user` WHERE id = #{id}
      11.     </select>

         

        --------------------------------------编写完毕,查看结果和问题-------------------------

        1. User.xml里的返回类型得写对cn.test.pojo.User
        2. SqlMapConfig.xml里数据库名和账号密码得写对

     

    OK,这个Mybatis框架的第一个程序就搞定了。

     

    其余的增删查改同理(除了查,其它都要提交事物),在那个User.xml里写sql语句再调用即可,最后完整增删查改如下:

  • 相关阅读:
    小程序配置安装
    微信小程序--录制音频,播放音频
    微信小程序报错.wxss无法找到
    linux 安装 elasticsearch
    Ubuntu 安装Logstash
    python 开发微信 自定义菜单
    微信 python搭建服务器
    vue 本地存储数据 sessionStorage
    luogu1742 最小圆覆盖
    luogu1501 [国家集训队]Tree II
  • 原文地址:https://www.cnblogs.com/chz-blogs/p/9380945.html
Copyright © 2011-2022 走看看