mybatis简介

mybatis概念

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

mybatis安装

如果使用 Maven 来构建项目,则需将下面的依赖代码置于 pom.xml 文件中:

<dependency>
  <groupId>org.mybatis</groupId>
  <artifactId>mybatis</artifactId>
  <version>x.x.x</version>
</dependency>

mybatis配置

在maven工程中。mybatis-config.xml此文件放在resources文件夹下。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<!--上面是Config的约束.xml-->
<!--Mybatis主配置文件:都是必须的-->
<configuration>
    <!--外部链接数据库连接配置文件:放在resource下-->
    <properties resource="jdbcConfig.properties"></properties>

    <!--使用typeAliases配置别名,它只能配置domain中类的别名:简化代码-->
    <typeAliases>
       <!--用于指定要配置别名的包。当指定别名后,该包下的实体类都会注册别名,以后在使用只需要首字母小写即可,如com.mybatis.pojo.User直接可以写成user-->
        <package name="com.mybatis.pojo"></package>
    </typeAliases>

<!--配置环境    -->
    <environments default="mysql">
        <!--配置mysql的环境-->
        <environment id="mysql">
            <!--配置事务类型-->
            <transactionManager type="JDBC"></transactionManager>
            <!--配置数据源(连接池)-->
            <dataSource type="POOLED">
                <!--这里的${}中的字符串与jdbcConfig.properties配置文件的前缀名相同-->
                <property name="driver" value="${jdbc.driver}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
    </environments>

    <!--指定映射配置文件的位置,映射配置文件指的是每个mapper独立的配置文件-->
    <mappers>
      	<!-- 基于xml和注解都可以这样配置-->
        <package name="com.mybatis.mapper"></package>
    </mappers>
</configuration>

jdbcConfig.properties必须放在resource中

# mysql驱动8以上
jdbc.driver=com.mysql.cj.jdbc.Driver
# characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true为后缀
jdbc.url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf8
jdbc.username=root
jdbc.password=root

mybatis工作流程

// 加载mybatis配置文件
String resource = "mybatis-config.xml" // 如果这样写就只能放在resources中,即resources/mybatis-config.xml
InputStream in = Resource.getResourceAsStream(resource);
// 创建构造者对象
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
// 使用构造者对象创建工厂对象
SQLSessionFactory factory = sqlSessionFactoryBuilder.build(in);
// 使用工厂对象创建SqlSession对象
SqlSession session = factory.openSession();
// 使用SqlSession对象获取mapper
IUserMapper userMapper = session.getMapper(IUserMapper.class);
// 使用userMapper调用接口方法实现增删改查
List<User> users = userMapper.findAll();
for(User u : users){
  System.out.println(u)
}
//关闭SQLSession对象和InputStream对象
session.close()
in.close()  

posted on 2021-05-23 12:41  拾亿~  阅读(88)  评论(0)    收藏  举报

导航