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

第一个mybatis程序

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

第一个mybatis程序

什么是 MyBatis?
MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

如何获得Mybatis?
maven 仓库:


    org.mybatis
    mybatis
    3.5.9

持久化

持久化就是将程序的数据在持久状态和瞬时状态转化的过程内存:断电即失数据库(jdbc),io文件持久化

为什么需要持久化?

不想丢掉一些对象层界限十分明显

为什么需要Mybatis?

帮助程序员将数据存入到数据库中传统的JDBC代码太复杂,简化–>框架–>自动化方便,使用的人多

第一个Mybatis程序
思路:搭建环境–>导入Mybatis–>编写代码–>测试

1、搭建数据库

CREATE DATAbase `mybatis`;

USE `mybatis`;

CREATE TABLE `user`(
   `id` INT(20) NOT NULL PRIMARY KEY,
   `name` VARCHAR(30) DEFAULT NULL,
   `pwd` VARCHAR(30) DEFAULT NULL
)ENGINE=INNODB DEFAULT CHARSET=utf8;

INSERT INTO `user` (`id`,`name`,`pwd`) VALUES
(1,'重庆','123456'),
(2,'贵州','123456'),
(3,'遵义','991123')

2、新建一个普通maven项目
3、导入maven依赖



    
        mysql
        mysql-connector-java
        8.0.28
    

    
        org.mybatis
        mybatis
        3.5.9
    

    
        junit
        junit
        4.13.2
        test
    

4、编写mybatis的核心配置文件(mybatis-config.xml)





    
        
            
            
                
                
                
                
            
        
    
    
        
    

5、编写mybatis工具类

public class MybatisUtils {

    private static SqlSessionFactory sqlSessionFactory;
    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 命令所需的所有方法。你可以通过 SqlSession 实例来直接执行已映射的 SQL 语句。
    public static SqlSession getSqlSession(){
        return sqlSessionFactory.openSession();
    }
}

6、编写一个实体类

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 + ''' +
                '}';
    }
}

7、Mapper接口

public interface UserDao {
    List getUserList();
}

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





    
    
    select * from mybatis.user