myabtis入门案例

mybatis入门案例

1.新建项目(Maven),搭建环境
数据库(名:mybatis,表user)导出sql:
/*
Navicat MySQL Data Transfer

Source Server : localhost_3306
Source Server Version : 50162
Source Host : localhost:3306
Source Database : mybatis

Target Server Type : MYSQL
Target Server Version : 50162
File Encoding : 65001

Date: 2020-07-16 16:05:05
*/

SET FOREIGN_KEY_CHECKS=0;


– Table structure for user


DROP TABLE IF EXISTS user;
CREATE TABLE user (
id int(20) NOT NULL,
name varchar(30) DEFAULT NULL,
pwd varchar(30) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


– Records of user


INSERT INTO user VALUES (‘1’, ‘大一’, ‘123456’);
INSERT INTO user VALUES (‘2’, ‘大二’, ‘abcdef’);
INSERT INTO user VALUES (‘3’, ‘大三’, ‘987654’);
INSERT INTO user VALUES (‘4’, ‘哈哈’, ‘111’);

新建一个maven项目
在项目文件pom.xml的在project标签中导入所需依赖:


    
        mysql
        mysql-connector-java
        5.1.6
    
    
        org.mybatis
        mybatis
        3.4.5
    
    
        junit
        junit
        3.8.2
    
    
    
        log4j
        log4j
        1.2.17
    
    
        org.testng
        testng
        RELEASE
        test
    

为了让项目能正确解析xml,properties等文件,还需加入以下配置:


   
        
            src/main/java
            
                **/*.properties
                **/*.xml
            
            false
        
        
            src/main/resources
            
                **/*.properties
                **/*.xml
            
            false
        
    

新建包
dao–接口
pojo–项目类,javabean
utils–工具类

文件:
UserMapper—接口
UserMapper.xml—配置文件
User—javabean
MybatisUtils—工具类,简化操作
log4j.properties —日志log4j的配置文件(可先不用)
mybatis-config.xml— mybatis的核心配置文件
myabtis入门案例_第1张图片
User:

package com.feng.pojo;

public class User {
    private int id;
    private String name;
    private String pwd;

    public User() {
    }

    public User(int id, String name, String pwd) {
        this.id = id;
        this.name = name;
        this.pwd = pwd;
    }

    public int getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPwd() {
        return pwd;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", pwd='" + pwd + '\'' +
                '}';
    }
}

MybatisUtils(获取工厂对象):

package com.feng.utils;

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

import java.io.IOException;
import java.io.InputStream;

public class MybatisUtils {

    private static SqlSessionFactory sqlSessionFactory;

    static {
        try {
            String resource = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    public static SqlSession getSession(){
        return sqlSessionFactory.openSession();
    }
}

UserMapper:

package com.feng.dao;

import com.feng.pojo.User;
import java.util.List;

public interface UserMapper {
    //查询全部用户
    List<User> getUserList();
    //根据id查询用户
    User getUserById(int id);

}

UserMapper.xml:




    
   
    
        
        
        
        
    
    


mybatis-config.xml:






    
    
    
    
        
    
    
    
        
            
            
            
            
                
                
                
                
                
                
            
        
    
    
    
        
    

UserMapperTest:

package com.feng.dao;
import com.feng.pojo.User;
import com.feng.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.testng.annotations.Test;
import java.util.List;

public class UserMapperTest {

    @Test
    public void getUserById(){
        SqlSession sqlSession = MybatisUtils.getSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);

        User user = mapper.getUserById(1);
        System.out.println(user);
        sqlSession.close();
    }

    @Test
    public void getUserList(){
        SqlSession sqlSession = MybatisUtils.getSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        List list = mapper.getUserList();
        for (User user : list) {
            System.out.println(user);
        }
        sqlSession.close();
    }

}

运行getUserById():
myabtis入门案例_第2张图片
运行getUserList():
myabtis入门案例_第3张图片

你可能感兴趣的:(mybatis,java,mysql,java,mybatis)