zoukankan      html  css  js  c++  java
  • Mybatis基本的CRUD

    <?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:表示名称空间。现在的目的是区分id的. -->
    <mapper namespace="com.zhiyou100.xf.mapper.UsersMapper">
    <!-- 根据id查询用户。id:标识该标签。 parameterType:参数类型。可以写 也可以省略 resultType:返回结果的类型。
    #{id}:类似于EL表达式。 解析id的值 -->
    <select id="getUser" parameterType="int" resultType="com.zhiyou100.xf.bean.Users">
    select * from users where id=#{id}
    </select>
    <insert id="insertUser" parameterType="com.zhiyou100.xf.bean.Users">
    insert into users values(default,#{name},#{age})
    </insert>
    <update id="updateUser" parameterType="com.zhiyou100.xf.bean.Users">
    update users set name=#{name},age=#{age} where id=#{id}
    </update>
    <select id="selAll" resultType="com.zhiyou100.xf.bean.Users">
    select * from users
    </select>
    <delete id="deleteUser" parameterType="int">
    delete from users where id=#{id}
    </delete>
    <select id="selBy" parameterType="map" resultType="com.zhiyou100.xf.bean.Users">
    select * from users where id between ${min} and ${max}

    (此处使用<>来表示范围可以用转义字符或者特定标签)
    </select>

    </mapper>

    当有多个值传入时,可以选择作为list或者实体类。如果多值的话,会作为map传入

    普通测试

    public class Test {
    
        public static void main(String[] args) throws IOException {
            //配置解析文件xml
            Reader reader=Resources.getResourceAsReader("conf.xml");
            //获取SessionFactory对象
            SqlSessionFactory sessionFactory=new SqlSessionFactoryBuilder().build(reader);
            //获取session对象
            SqlSession session=sessionFactory.openSession();
            Users users=session.selectOne("com.zhiyou100.xf.mapper.UsersMapper.getUser",1 );
            System.out.println(users);
        }
    
    }

    接口与映射文件结合使用(指明接口所在路径)

    namespace="com.zhiyou100.xf.dao.UsersDao"

    public interface UsersDao {
      //方法名必须和sql映射文件中方法的id相同
    public Users getUser(int id); public List<Users> selAll(); public void insertUser(Users u); public void deleteUser(int id); public void updateUser(Users u); public List<Users> selll(); //多个参数存入map? public List<Users> selBy(@Param("min") int min,@Param("max") int max); }

    测试调用

    UsersDao ud=session.getMapper(UsersDao.class);

  • 相关阅读:
    C++类型转换(字符串)
    GDI+ 中Image::FromStream ,用流的方式显示图像
    mfc对话框序列化实例
    配置android开发环境eclipse获取ADT获取不到(转)
    vs开发错误总结
    MFC获取文件操作
    Android系统架构剖析(转)
    OpenCV 图像采样 插值 几何变换
    C++ char*,char[],string,CString转换
    Simscape Multibody 教程 —— 入门学习
  • 原文地址:https://www.cnblogs.com/accc111/p/11448893.html
Copyright © 2011-2022 走看看