zoukankan      html  css  js  c++  java
  • MyBatis单表操作

    介绍:

      数据持久层框架(DAO将数据持久化到数据库),实现DAO层的代码。对JDBC代码的封装

    特点:

    • 1.封装通用功能,简化代码,提高开发效率(获得conn,绑定参数,发送sql,处理异常,处理结果集)
    • 2.sql放在配置文件中,提高sql可维护性
    • 3.自带连接池功能
    • 4.自带缓存(提高查询效率)

    核心思想

    • 1.书写DAO接口
    • 2.开发Mapper文件。SQL+绑定参数、实现接口中的方法

    环境搭建

    1.导入mybatis.jar、mybatis的lib依赖包、oracle的驱动jar
    
    2.引入配置文件
      mybatis-config.xml(链接数据库相关参数)
      Mapper.xml(相当于dao的实现类)

    MyBatis实现DAO编码

    需求:使用MyBatis实现DAO的方式,添加一条person信息
    
      1.书写DAO接口
        public interface PersonDAO{
          void insert(Person person);
        }
    
      2.写Mapper文件(DAO实现类)
        <insert id="实现接口的方法名" parameterType="参数中实体类型全类名">
          inser into t_person values(seq_person.nextval,#{属性名},#{sex},#{age})
        </insert>
    
      3.注册管理mapper文件
        <mappers>
          <mapper resource="com/lhl/demo1/PersonDAOImpl.xml"></mapper>
        </mappers>

    MyBatis使用的API

    使用DAO目的:
      1.获得DAO的对象
      2.调用DAO的方法
    常用的类:   SqlSession    
    1.获得dao结果的实现类的对象       XxxDAO dao = sqlSession.getMapper(接口.class);     2.相当于connection。(提交事务,关闭close,回滚事务)

      SqlSessionFactory     
    1.获得sqlSession       SqlSession session = sqlSessonFactory.openSession();     2.保存封装mybatis-config.xml配置文件   SqlSessionFactoryBuilder:读取配置文件   Resources:获得读取配置文件的输入流

      步骤:

        1.获得mabatis-config的输入流

        2.读取mybatis-config的文件,构造成SqlSessionFactory

        3.通过SqlSessionFactory获得SqlSession

        4.通过SqlSession获得DAO接口的对象

        5.调用方法测试

        6.提交事务

        7.释放资源

    添加、修改、删除操作,(以员工表t_person为例)

    1.定义dao接口方法
      void insert(Person person);//添加功能接口方法
      void update(Person person);//修改功能接口方法
      void delete(@param("id")Integer id);//删除功能接口方法
    
    2.书写mapper文件标签   
    <!-- 添加一个person信息 -->   <insert id="insert" parameterType="com.lhl.demo1.Person">     insert into t_person values(seq_person.nextval,#{name},#{sex},#{age},#{mobile},#{address})   </insert>   <!-- 修改操作 -->   <update id="update" parameterType="com.lhl.demo1.Person">     update t_person set name=#{name},sex=#{sex},age=#{age},mobile=#{mobile},address=#{address} where id=#{id}   </update>   <!-- 删除功能 -->   <delete id="delete" parameterType="java.lang.Integer">     delete from t_person where id = #{id}   </delete> 3.注册mapper文件:在mybatis-config.xml中绑定   <mappers>   <!-- 注册管理所有的mapper文件 -->     <mapper resource="com/lhl/demo1/PersonDAOImpl.xml"></mapper>   </mappers>

    单个查询

    1.书写dao接口方法
      Person selectById(Integer id);
    2.书写mapper文件(sql、参数、对查询结果映射实体对象)   
    <!-- 查询功能 -->   <select id="selectById" parameterType="java.lang.Integer" resultType="查询结果的一行数据映射的实体对象类型(com.lhl.demo1.Person)">     select id,name,sex,age,mobile,address from t_person where id = #{id}   </select> 3.注册mapper文件

     多个查询

    1.书写dao接口方法
      List<Person> selectAll();
    
    2.书写mapper
      <select id="selectAll" resultType="rs的一行数据映射实体类型">
        select id,name,sex,age,mobile,address from t_person
      <select>
    
    3.注册mapper文件

     多个参数绑定

    1.书写dao
        User selectByUsernameAndPassword(String username,String passwor);
    
    2.书写mapper文件
        <select id="selectByUsernameAndPassword" resuletType="*******">
        select id,username,password from t_person where username=#{arg0} and password=#{arg1};
        </select>

    或者通过@Param取别名的方式    User selectByUsernameAndPassword(@Param("username")String username,@Param("password")String passwor);   select id,username,password from t_person where username=#{username} and password=#{password}; 3.注册mapper文件

     xml转义

    以下是XML中需要的转义字符:[/size] 
      &(逻辑与)  &amp;        
      <(小于)    &lt;        
      >(大于)    &gt;        
      "(双引号)  &quot;      
      '(单引号)  &apos; 
  • 相关阅读:
    视图
    使用navicat for sqlserver 把excel中的数据导入到sqlserver数据库
    sql去重
    SQLserver连接本地服务器
    html中去掉文本框(input type="text")的边框或只显示下边框
    用户控件与页面间相互给各自的控件赋值
    easyui datagrid 去掉 全选checkbox
    ZebraDatepicker中文显示
    实现在点击asp:button按钮后,不刷新当前页面
    (转)ASP.NET(C#)FileUpload实现上传限定类型和大小的文件到服务器
  • 原文地址:https://www.cnblogs.com/lhl0131/p/13393959.html
Copyright © 2011-2022 走看看