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

第一个mybatis程序-->配置mybatis(超详细、小白也能成功配置)

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

第一个mybatis程序-->配置mybatis(超详细、小白也能成功配置)

第一个mybatis程序–>配置mybatis(超详细、小白也能成功配置)

写本文章的目的:最近正在看狂神的视频学习mybatis,但是跟着视频配置下来仍然有一些小错误,导致花费了很多时间去找bug。在此记录一下,祝大家学习愉快。本文非常详细,适合小白食用。大佬跳过即可_
思路流程:搭建环境–>导入Mybatis—>编写代码—>测试
本程序的目的:导入mybatis然后写SQL语句查询数据库的信息。

本文章涉及的资源(点击直达):
狂神教学视频网址
视频对应文档网址
官方文档

开始配置
1、搭建环境
1.1、搭建实验数据库(在mysqlworkbench软件中创建一个表并添加数据,你用什么软件都可以,只要把表格建好并添加数据。)

--“CREATE DATAbase`mybatis`“只在第一次创建数据库的时候才使用,
--之后如果在该数据库中建表就不用写这句话。
CREATE DATAbase `mybatis`;

USE `mybatis`;

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;

insert  into `user`(`id`,`name`,`pwd`) values (1,'狂神','123456'),(2,'张三','abcdef'),(3,'李四','987654');

MySqlWorkbench运行结果如下:

1.2、在IDEA中新建一个Maven项目–>删除src目录–>导入maven依赖
(1)(2)

(3)在pom.xml文件(properties标签后)加入代码。
注意:导入的数据库依赖的时候,数据库的版本号一定要和你自己使用的数据库版本一致


    
        org.mybatis
        mybatis
        3.5.2
    
    
        mysql
        mysql-connector-java
		
        8.0.20
    
    
    
        junit
        junit
        RELEASE
        maim
    




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

2、导入MyBatis
2.1在IDEA里面连接前面写好的数据库。
注意:你的IDEA一定要是专业版的侧栏才有Database。社区版的建议去官网下一个专业版(学生认证即可免费使用)。


连接成功后查看数据:

2.2编写MyBatis核心配置文件。
(1)创建“mybatis-config.xml”配置文件。

(2)核心配置文件:连接数据库

注意:需要修改的地方—>配置文件中的mysql账号密码一定要写你自己的。





    
        
            
            
                
                
                
                
                
            
        
    
    
    
        
    

(3)编写MyBatis工具类
理解编写该工具类的目的(官方文档解释):每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的。SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。而 SqlSessionFactoryBuilder 则可以从 XML 配置文件来构建出 SqlSessionFactory 实例。–>有了 SqlSessionFactory,顾名思义,我们可以从中获得 SqlSession 的实例。(SqlSession 提供了在数据库执行 SQL 命令所需的所有方法。你可以通过 SqlSession 实例来直接执行已映射的 SQL 语句)。
main–>java–>创建utils包–>创建MybatisUtils工具类

public class MybatisUtils {
    private static SqlSessionFactory sqlSessionFactory;

    static {
        try {
            //读取配置文件,new获取sqlSessionFactory对象。
            String resource = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    //获取SqlSession连接
    //既然有了 SqlSessionFactory,顾名思义,我们可以从中获得 SqlSession 的实例。
    // SqlSession 提供了在数据库执行 SQL 命令所需的所有方法。你可以通过 SqlSession 实例来直接执行已映射的 SQL 语句。
    public static SqlSession getSqlSession(){
        return sqlSessionFactory.openSession();
    }
}

3、编写代码
文件夹如下:

(1)实体类User(为数据库中的变量封装–> 构造,有参,无参、set/get、toString() )

在这里插入代码片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 + ''' +
                '}';
    }
}

(2)Dao文件夹下–> 编写UserMapper接口类

public interface UserMapper {
    List selectUser();
}

(3)编写UserMapper.xml配置文件(文件夹中没有UserMapper接口类的实现类,这里的UserMapper.xml就充当了UserMapper实现类的作用。因为我们是用了mybatis框架,所以我们可以直接在配置文件中写SQL语句。)
注意:需要修改的地方—>配置文件中的namespace、resultType需要根据你自己的全限定类名(包名+类型)修改。





    

特别注意:每写一个Mapper.xml都需要在mybatis核心配置文件mybatis-config.xml里面注册!(文章最前面展示的mybatis-config.xml配置文件中已经添加了的,这里不需要再添加一次,只是提醒⏰^_ ^)

4、测试
创建测试文件

public class test {
    @Test
    public void test() {
        //获取SqlSession对象。
        SqlSession session = MybatisUtils.getSqlSession();
        //方法一:获取getMapper实现接口,并调用该对象的方法(这个方法在配置文件中配置了的,相当于该方法的实现)
        UserMapper mapper = session.getMapper(UserMapper.class);
        List users = mapper.selectUser();
//        System.out.println(users); 一个集合
        for (User user: users){
            System.out.println(user);
        }
        session.close();
    }
}

------------------------------总结分割线--------------------------

结尾多一嘴:是不是觉得配置mybatis太麻烦不如直接写JDBC语句?但是配置完一次后面就方便很多了。祝你学习愉快。

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

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

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