栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Mybatis学习

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Mybatis学习

Mybatis 1.第一个程序

思路:搭建环境–>导入Mybatis–>编写代码–>测试

1.1 搭建环境

搭建数据库
新建项目

新建一个普通maven项目删除src目录导入maven依赖


        
            org.mybatis
            mybatis
            3.5.7
        
        
            mysql
            mysql-connector-java
            8.0.26
        
        
            junit
            junit
            4.13.2
        
    
1.2创建一个模块

编写mybatis的核心配置文件




    
        
            
            
                
                
                
                
            
        
    
    
        
    

编写mybatis工具类

package com.zhou.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;

//sqlSessionFactory --> sqlSession
public class MybatisUtils {

    static SqlSessionFactory sqlSessionFactory = null;

    static {
        try {
            //使用Mybatis第一步 :获取sqlSessionFactory对象
            String resource = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    //既然有了 SqlSessionFactory,顾名思义,我们可以从中获得 SqlSession 的实例.
    // SqlSession 提供了在数据库执行 SQL 命令所需的所有方法。
    public static SqlSession getSqlSession(){
        return sqlSessionFactory.openSession();
    }
}

1.3 编写代码

实体类

package com.zhou.pojo;

public class User {
    private int id;  //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 + ''' +
                '}';
    }
}

dao接口

package com.zhou.dao;

import com.zhou.pojo.User;

import java.util.List;

public interface UserDao {
    public List getUserList();
}

接口实现类由原来的UserDaoImpl转变成一个Mapper配置文件






    
        select * from mybatis.user
    


1.4 测试
public class UserDaoTest {
    @Test
    public void test()
    {
        SqlSession sqlSession= MybatisUtils.getSqlSession();
        UserDao userDao=sqlSession.getMapper(UserDao.class);
        List userList=userDao.getUserList();
        for (User user:userList)
        {
            System.out.println(user);
        }
        sqlSession.close();
    }
}
问题

The last packet successfully received from the server was 1,134 milliseconds ago. The last packet sent successfully to the server was 1,130 milliseconds ago.

解决方法:把url中的useSSL=true改为false

Cause: java.io.IOException: Could not find resource com/zhou/dao/UserMapper.xml

解决方法:将UserMapper.xml文件放入resources目录下的mapper文件夹,然后将mybatis-config.xml中的resource改为


        
    
2.CRUD

原理与前面的查询差不多,

    都是先写UserDao接口,
 User getUserById(int id);
    int addUser(User user);
    int updateUser(User user);
    int deleteUserById(int id);
    在Mapper.xml文件中写对应的sql语句

        select * from mybatis.user limit #{startIndex},#{pageSize};
    
    测试
 @Test
    public void userListByLimit()
    {
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        HashMap map = new HashMap();
        map.put("startIndex",0);
        map.put("pageSize",3);
        List userList = mapper.userListByLimit(map);
        for (User user : userList) {
            System.out.println(user);

        }       sqlSession.close();
    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/786087.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号