Mybatis引入与使用

一、新建项目

使用IDEA,新建项目

Mybatis引入与使用_第1张图片

注意:这里创建的是Maven项目

二、数据准备

因为Mybatis是操作数据库的框架,需要操作数据库,这里我们选用Mysql数据库,使用数据库脚本初始化一下数据。

-- 如果数据库不存在则创建数据库
CREATE DATABASE IF NOT EXISTS demo DEFAULT CHARSET utf8;
-- 切换数据库
USE demo;
-- 创建表
CREATE TABLE T_USER(
  ID INT PRIMARY KEY,
  USERNAME VARCHAR(32) NOT NULL,
  AGE INT NOT NULL 
);

上面的脚本是创建一个名称为demo的数据库,并在库中新建一个T_USER表。

三、引入Mybatis

在pom文件中添加mybatis依赖


    org.mybatis
    mybatis
    3.4.5

这里使用的是3.4.5版本,如果想使用mybatis的其他版本可以在Maven仓库中查询。

由于要连接数据库进行使用,这里引入Mysql的驱动,在Mysql数据库上进行操作数据:


    mysql
    mysql-connector-java
    5.1.49

四、配置Mybatis

在resources下新建mybatis-config.xml配置文件,并完成配置




    
        
            
            
                
                
                
                
            
        
    

需要根据实际环境替换配置中的变量:

${driver}:数据库驱动,mysql的数据库驱动是org.gjt.mm.mysql.Driver

${ip}:数据库的IP地址

${port}:数据库的端口

${username}:连接数据库的用户名

${password}:连接数据库的密码

五、读取数据库信息

// 读取mybatis配置文件
InputStream inputStream = ClassLoader.getSystemClassLoader().getResourceAsStream("mybatis-config.xml");
// 根据配置创建SqlSession工厂
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder()
        .build(inputStream);

SqlSession sqlSession = null;
try {
    // 创建SqlSession
    sqlSession = sqlSessionFactory.openSession();
    // 获取连接
    Connection connection = sqlSession.getConnection();
    // 获取数据库元数据
    DatabaseMetaData databaseMetaData = connection.getMetaData();
    // 获取数据库名称
    System.out.println("database product name: " + databaseMetaData.getDatabaseProductName());
    // 获取数据库版本
    System.out.println("database product version: " + databaseMetaData.getDatabaseProductVersion());
    // 获取数据库主版本
    System.out.println("database major version: " + databaseMetaData.getDatabaseMajorVersion());
    // 获取数据库小版本
    System.out.println("database minor version: " + databaseMetaData.getDatabaseMinorVersion());
} catch (SQLException e) {
    e.printStackTrace();
} finally {
    // 关闭会话
    if(Objects.nonNull(sqlSession)) {
        sqlSession.close();
    }
}

注意:SqlSession对象需要关闭,不然会一直占用数据库连接

 上面的代码运行的结果如下:

结果中打印的内容与我的数据库信息相符。

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