Mybatis获取参数的各种情况

1.UserMapper接口

public interface UserMapper {

    /**
     * 验证登录(使用参数)
     */
    user login(@Param("username") String username, @Param("password") String password);

    /**
     * 添加对象
     * @param user
     */
    int insertUser(user user);

    /**
    * 验证登录
    * 参数为map
    */
  user checkLoginByMap(Map<String,Object> map);

   /**
    * 验证登录
    */
   user checkLogin(String username,String password);


   /**
    * 进行查询
    * @param username
    * @return
    */
   user getUserByUsername(String username);
}

2.UserMapper映射文件

<?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 namespace="org.example.mapper.UserMapper">

    <select id="getUserByUsername" resultType="user">
        <!--select * from user where username=#{aaa}
        select * from user where username=#{username}
        select * from user where username='${aaa}'
        -->
        select * from user where username='${aaa}'
    </select>

    <select id="checkLogin" resultType="user">
        <!--
        当含有两个参数的时候
        select * from user where username=#{arg0} and password=#{arg1}
        select * from user where username=#{param1} and password=#{param2}-->
        select * from user where username='${param1}' and password='${param2}'
    </select>

    <select id="checkLoginByMap" resultType="user">
        select * from user where username=#{username} and password=#{password}
    </select>

    <insert id="insertUser">
        insert into user values(null,#{username},#{password},#{age},#{sex},#{email})
    </insert>

    <select id="login" resultType="user">
        select * from user where username=#{username} and password=#{password}
    </select>
</mapper>

3.测试文件

 @Test
    public void test() throws Exception {
        InputStream is=Resources.getResourceAsStream("mybatis-config.xml");
        SqlSessionFactoryBuilder sessionFactoryBuilder=new SqlSessionFactoryBuilder();
        SqlSessionFactory sessionFactory=sessionFactoryBuilder.build(is);
        SqlSession sqlSession=sessionFactory.openSession(true);
        UserMapper mapper=sqlSession.getMapper(UserMapper.class);
        //通过账户名进行查找user user=mapper.getUserByUsername("admin");
        //查询多个参数user user=mapper.checkLogin("admin","1234");
        //使用map进行查询Map<String,Object> map=new HashMap<>();
        //map.put("username","admin");
        //map.put("password","1234");
        //user user= mapper.checkLoginByMap(map);
        //System.out.println(user);

        //直接插入一个对象int result=mapper.insertUser(new user(null,"哈啊","110",21,"女","123@qq.com"));
        //System.out.println(result);
        //使用@Param进行查询
        user user=mapper.login("哈啊","110");
        System.out.println(user);
    }

4.总结 alt

全部评论

相关推荐

点赞 评论 收藏
分享
06-15 02:05
已编辑
南昌航空大学 数据分析师
Eason三木:你如果想干技术岗,那几个发公众号合唱比赛的经历就去掉,优秀团员去掉,求职没用。然后CET4这种不是奖项,是技能,放到下面的专业技能里或者单独列一个英语能力。 另外好好改改你的排版,首行缩进完全没有必要,行间距好好调调,别让字和标题背景黏在一起,你下面说能做高质量PPT你得展现出来啊,你这简历排版我用PPT做的都能比你做的好。 然后自我评价,你如果要干数据工程师,抗压能力强最起码得有吧。
简历中的项目经历要怎么写
点赞 评论 收藏
分享
昨天 18:09
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务