简易MyBatis的CRUD增删查改

做一个简单实现mybatis的CRUD增删查改

(提示:途中有啥包没引入的自己根据idea的提示自动引入就好)

一、建立一个普通的maven工程

1、一个普通的maven工程就好,直接next

简易MyBatis的CRUD增删查改_第1张图片

2、然后设置项目命名,随意起,然后接着往下点就好

(IDEA版本不同创建maven工程的过程有一丢丢不同,随意应变一下就好)

简易MyBatis的CRUD增删查改_第2张图片

二、配置pom.xml文件

简易MyBatis的CRUD增删查改_第3张图片


        
            org.mybatis
            mybatis
            3.5.5
        

        
            mysql
            mysql-connector-java
            8.0.20
        

        
            org.projectlombok
            lombok
            1.18.12
        

    

    
        
            
                src/main/java
                
                    **/*.xml
                
            
        
    

三、随便建个简易的数据库

简易MyBatis的CRUD增删查改_第4张图片

为了方便部分老铁,我就把sql语句也奉上了

CREATE DATABASE `mybatis` ;

USE `mybatis`;

DROP TABLE IF EXISTS `user`;

CREATE TABLE `user` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) DEFAULT NULL,
  `password` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

insert  into `user`(`id`,`name`,`password`) values (1,'giao','admin'),(2,'giao2','321');

四、创建实体类

简易MyBatis的CRUD增删查改_第5张图片

(Lombok没有用过的要先去idea的插件中心下载一个,直接搜索Lombok就好)

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data//生成get和set方法
@AllArgsConstructor//生成有参构造
@NoArgsConstructor//生成无参构造
public class User {
    private int id;
    private String name;
    private String password;
}

五、创建mybatis的配置文件

简易MyBatis的CRUD增删查改_第6张图片




    
        

            

            
                
                
                
                
            
        
    


六、创建Mapper接口,也就是Dao接口

(这张图是后来补的,爆红啥的不重要)

简易MyBatis的CRUD增删查改_第7张图片


import java.util.List;

public interface UserMapper {
    public int save(User user);
    public int dalete(int id);
    public List findAll();
    public User findById(int id);
    public int update(User user);
}

七、创建Mapper的实现配置文件






    
        insert into user(name, password) VALUES (#{name},#{password})
    


    
        delete from user where id=#{id}
    


    


    


    
        update user set name=#{name},password=#{password} where id=#{id}
    


八、在mybatis的配置文件中注册mapper

简易MyBatis的CRUD增删查改_第8张图片

(就加上最下面那几句就好啦)




    
        

            

            
                
                
                
                
            
        
    

    
        
    


九、创建测试类,就可以自己跑跑看啦,代码奉上了

(显示缺少啥包就自己根据idea的提示自动引入就好啦)

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.InputStream;
import java.util.List;

public class Test {
    public static void main(String[] args) {
        //通过类加载器加载配置文件
        InputStream inputStream=Test.class.getClassLoader().getResourceAsStream("config.xml");
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder=new SqlSessionFactoryBuilder();
        SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);

        //增
//        User user=new User(2,"giao2","123");
//        int save = mapper.save(user);
//        sqlSession.commit();//提交事务,有数据变动必须提交事务
//        System.out.println(save);
//        sqlSession.close();//关闭sqlSession避免资源浪费

        //删
//        int delete = mapper.delete(3);
//        sqlSession.commit();
//        System.out.println(delete);
//        sqlSession.close();

//        查询所有用户  注:有数据变动的才用commit提交事务,像查询的话是没有数据变动的,所以不用commit提交事务
//        List users = mapper.findAll();
//        for(User user:users){
//            System.out.println(user);
//        }
//        sqlSession.close();

        //通过id查找用户
//        User user = mapper.findById(2);
//        System.out.println(user);
//        sqlSession.close();

        //修改
//        User user = new User(2, "giao2", "321");
//        int update = mapper.update(user);
//        sqlSession.commit();
//        System.out.println(update);
//        sqlSession.close();
    }
}

基本上简易的mybatis的增删查改就是这样了

你可能感兴趣的:(简易MyBatis的CRUD增删查改)