• myBatis


    User实体类

    package com.atguigu.mybatis.pojo;

    public class User {
        private Integer id;
        private String username;
        private String password;
        private Integer age;
        private String sex;
        private String email;

        public User() {
        }

        public User(Integer id, String username, String password, Integer age, String sex, String email) {
            this.id = id;
            this.username = username;
            this.password = password;
            this.age = age;
            this.sex = sex;
            this.email = email;
        }

        @Override
        public String toString() {
            return "User{" +
                    "id=" + id +
                    ", username='" + username + '\'' +
                    ", password='" + password + '\'' +
                    ", age=" + age +
                    ", sex='" + sex + '\'' +
                    ", email='" + email + '\'' +
                    '}';
        }

        public Integer getId() {
            return id;
        }

        public void setId(Integer id) {
            this.id = id;
        }

        public String getUsername() {
            return username;
        }

        public void setUsername(String username) {
            this.username = username;
        }

        public String getPassword() {
            return password;
        }

        public void setPassword(String password) {
            this.password = password;
        }

        public Integer getAge() {
            return age;
        }

        public void setAge(Integer age) {
            this.age = age;
        }

        public String getSex() {
            return sex;
        }

        public void setSex(String sex) {
            this.sex = sex;
        }

        public String getEmail() {
            return email;
        }

        public void setEmail(String email) {
            this.email = email;
        }
    }

    Interface接口

    public interface ParameterMapper {
        /**
         * MyBatis面向接口编程的两个一致
         * 1、映射文件的namespace要和mapper接口的全类名保持一致
         * 2、映射文件中SQL语句的id要和mapper接口中的方法名一致
         *


         * --实体--mapper接口--映射
         */

        /**
         * 验证登录(使用@param)
         */
        User checkLoginByParam(@Param("sername") String username,@Param("assword") String password);

        /**
         * 添加用户信息
         */
        int insertUser(User user);

        /**
         * 验证登录(参数为map)
         */
        User checkLoginByMap(Map map);

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

        /**
         * 根据用户名查询用户信息
         */
        User getUserByUsername(String username);

        /**
         * 查询所有的员工信息
         * @return
         */
        List getAllUser();



    }

    连接数据库


            PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-config.dtd">

        
        

        
        
            
            
            
        


        
        
            
            
                
                
                
                    
                    
                    
                    
                

            

        


        
        
            
            
        

    测试类

    public class ParameterMapperTest {

        /**
         * MyBatis 获取参数值的两种方式:${}#{}
         * ${}本质字符串拼接
         * #{}本质占位符赋值
         * MyBatis获取参数值的各种情况:
         * 1mapper接口方法的参数为单个的字面量类型
         * 可以通过${}#{}以任意的名称获取参数值,但是需要注意${}的单引号问题
         * 2mapper接口方法的参数为多个时
         * 此时MyBatis会将这些参数放在一个map集合中,以两种方式进行存储
         * a>arg0arg1...为键,以参数为值
         * b>param1,param2...为键,以参数为值
         * 因此只需要通过#{}${}以键的方式访问值即可,但是需要注意${}的单引号问题
         * 3.mapper接口方法的参数有多个时,可以手动将这些参数放在一个map中存储
         * 只需要通过#{}${}以键的方式访问值即可,但是需要注意${}的单引号问题
         * 4mapper接口方法的参数是实体类类型的按参数
         * 只需要通过#{}${}以属性的方式访问属性值即可,但是需要注意${}的单引号问题
         * 5、使用@param注解命名参数
         * 此时MyBatis会将这些参数放在一个map集合中,以两种方式进行存储
         * a>@Param注解的值为键,以参数为值
         * b>param1param2...为键,以参数为值
         * 因此只需要通过#{}${}以键的方式访问值即可,但是需要注意${}的单引号问题
         */

        //下一步  进入到某个方法中 强制进入 从某个方法中返回 返回上一个断点 调转到光标所在的一行

        @Test
        public void testCheckLoginByParam(){
            SqlSession sqlSession =SqlSessionUtils.getSqlSession();
            ParameterMapper mapper=sqlSession.getMapper(ParameterMapper.class);
            User user =mapper.checkLoginByParam("admin","123456");
            System.out.println(user);
        }

        @Test
        public void testCheckLoginsert() {
            SqlSession sqlSession = SqlSessionUtils.getSqlSession();
            ParameterMapper mapper = sqlSession.getMapper(ParameterMapper.class);
            int result = mapper.insertUser(new User(null, "李四","123",23,"男","123@qq.com"));
            System.out.println(result);
        }


        @Test
        public void testCheckLoginByMap() {
            SqlSession sqlSession = SqlSessionUtils.getSqlSession();
            ParameterMapper mapper = sqlSession.getMapper(ParameterMapper.class);
            Map map = new HashMap<>();
            map.put("username", "admin");
            map.put("password", "123456");
            User user = mapper.checkLoginByMap(map);
            System.out.println(user);
        }


        @Test
        public void testCheckLogin() {
            SqlSession sqlSession = SqlSessionUtils.getSqlSession();
            ParameterMapper mapper = sqlSession.getMapper(ParameterMapper.class);
            User user = mapper.checkLogin("admin", "123456");
            System.out.println(user);
        }


        @Test
        public void testGetUserByUsername() {
            SqlSession sqlSession = SqlSessionUtils.getSqlSession();
            ParameterMapper mapper = sqlSession.getMapper(ParameterMapper.class);
            User user = mapper.getUserByUsername("admin");
            System.out.println(user);
        }


        @Test
        public void testGetAllUser() {
            SqlSession sqlSession = SqlSessionUtils.getSqlSession();
            ParameterMapper mapper = sqlSession.getMapper(ParameterMapper.class);
            List list = mapper.getAllUser();
            list.forEach(user -> System.out.println(user));
        }

        @Test
        public void testJDBC() throws Exception {
            String username = "admin";
            Class.forName("");
            Connection connection = DriverManager.getConnection("", "", "");
            //PreparedStatement ps = connection.prepareStatement("select*from t_user where username='" + username + "'");
            PreparedStatement ps = connection.prepareStatement("select * from t_user where username=?");
            ps.setString(1, username);

        }

    }

  • 相关阅读:
    pdf怎么转换成jpg图片或png图片
    Leetcode-2311. 小于等于 K 的最长二进制子序列
    使用 PhpMyAdmin 安装 LAMP 服务器
    ROS2系列知识(4): 理解【服务】的概念
    yolo系列模型训练数据集全流程制作方法(附数据增强代码)
    [内排序]八大经典排序合集
    7 张图解 CrashLoopBackOff,如何发现问题并解决它?
    [阅读笔记23][JAM]JOINTLY TRAINING LARGE AUTOREGRESSIVE MULTIMODAL MODELS
    麒麟 Kylin V10 一键安装 Oracle 11GR2 单机 ASM(231017)
    JVM之垃圾回收算法和垃圾回收器(大厂收割机)
  • 原文地址:https://blog.csdn.net/weixin_49770265/article/details/127095928