zoukankan      html  css  js  c++  java
  • CRUD操作

    新增

    前面已写... ,实际为调用 sqlSession.insert() 方法

    查询

    精确查询

    查询结果只有一个

    映射文件

    <?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">
    <mapper cityspace="mybatis_test.CitiesMapper">
        <resultMap id="citiesMap" type="mybatis_test.Cities">
            ...
        </resultMap>
        <!-- resultMap是返回值类型,为上面定义的resultMap标签的id -->
        <select id="selectById" parameterType="int" resultMap="citiesMap">
            select * from cities where id=#{id};
        </select>
    </mapper>

    DAO层方法

    查询结果只有一个对象,使用自动调用sqlSession.SelectOne方法

    public interface CitiesMapper {
        Cities selectById(int id) throws Exception;
    }
    ​
    public class CitiesTest {
        @Test
        public void selectByIdTest(){
            SqlSession sqlSession= MybatisUtil.getSqlSession();
            CitiesMapper citiesMapper=sqlSession.getMapper(CitiesMapper.class);
            try {
                //自动调用`sqlSession.SelectOne`方法
                Cities cities=citiesMapper.selectById(2);
                sqlSession.commit();
                System.out.println(cities.getCity());
            } catch (Exception e) {
                e.printStackTrace();
                sqlSession.rollback();
            }finally {
                //关闭sqlSession
                MybatisUtil.closeSqlSession();
            }
        }
    }

    查询结果有多个

    映射文件

        <!-- 返回值应该是List<Student>,但是resultMap只需写集合中的类型就行 -->
        <select id="findAll" resultMap="citiesMap">
            select * from cities;
        </select>

    DAO层方法

    查询结果有多个对象,自动调用sqlSession.SelectList方法

    分页查询(范围查询)

    映射文件

        <!-- 分页查询,参数有多个,使用map接收参数 -->
        <select id="pageFind" parameterType="map" resultMap="citiesMap">
            <!-- 根据key自动找到对应Map集合的value -->
            select * from cities limit #{start},#{end};
        </select>

    DAO层代码

    分页是需要多个参数的,当需要接收多个参数的时候,可以使用Map集合来装载

     @Test
        public void pageFindTest(){
            SqlSession sqlSession= MybatisUtil.getSqlSession();
            CitiesMapper citiesMapper=sqlSession.getMapper(CitiesMapper.class);
            HashMap<String,Integer> map=new HashMap<String, Integer>();
            map.put("start",2);
            map.put("end",3);
            try {
                List<Cities> cities=citiesMapper.pageFind(map);
                sqlSession.commit();
            } catch (Exception e) {
                e.printStackTrace();
                sqlSession.rollback();
            }finally {
                MybatisUtil.closeSqlSession();
            }
        }

    删除

    映射文件

        <!-- 无返回值 -->
        <delete id="delete" parameterType="int">
            delete from cities where id=#{id};
        </delete>

    DAO层方法,调用 sqlSession.delete() 方法

    修改

    映射文件

        <!-- 无返回值 -->
       <update id="update" parameterType="mybatis_test.Cities">
            update cities set city=#{city} where id=#{id};
        </update>

    DAO层方法,调用 sqlSession.update() 方法

     

  • 相关阅读:
    Hbase与Maven工程的Spring配置笔记
    CentOS7.0+Hadoop2.7.2+Hbase1.2.1搭建教程
    利用Python进行博客图片压缩
    Qt下Armadillo矩阵函数库的添加
    Qt下Eigen矩阵函数库的添加
    OpenCV2.4.13+VS2013配置方法
    OpenCV2.4.13+Qt5.6.2配置方法
    异想家Win10系统安装的软件与配置
    异想家Win7系统安装的软件与配置
    STM32学习笔记:基础例子
  • 原文地址:https://www.cnblogs.com/yjh1995/p/13893591.html
Copyright © 2011-2022 走看看