Mybatis框架

文章目录

    • 1. Mybatis 介绍
    • 2. Mybatis 依赖
    • 3. Mybatis 入门
      • 3.1 Mapper 代理开发
      • 3.2 Mapper 映射文件(一定要与映射接口同名)
      • 3.3 Mapper 映射接口
      • 3.4 Sqlsession 获取代理对象执行SQL
    • 4. log4j日志
    • 5. Mybatis 配置(mybatis-config.xml)
      • 5.1 properties 文件
    • 6. 待后续补充内容

1. Mybatis 介绍

  Mybatis: 优秀的持久层框架,用于简化JDBC的开发.支持自定义 SQL, 存储过程和高级映射。几乎消除了 所有 JDBC 代码和手动设置参数和检索的结果。MyBatis 可以使用简单的 XML 或 的注释配置和映射文件和映射接口和数据映射(普通 Java 对象)到数据库记录。
  Mybatis是对JDBC代码的封装与简化
Mybatis框架_第1张图片

 Mybatis官网:Mybatis官网

Mybatis框架_第2张图片

2. Mybatis 依赖

 A. Mybatis依赖(Maven)


<dependency>
    <groupId>mysqlgroupId>
    <artifactId>mysql-connector-javaartifactId>
    <version>8.0.31version>
dependency>

<dependency>
    <groupId>org.mybatisgroupId>
    <artifactId>mybatisartifactId>
    <version>3.5.5version>
dependency>

 B. Mybatis基础配置


DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                
                <property name="url" value="jdbc:mysql:///xxxxxx?useSSL=false&useServerPrepStmts=true"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            dataSource>
        environment>
    environments>

    
    <mappers>
        <package name="xxx.xxx"/>
    mappers>

configuration>

3. Mybatis 入门

3.1 Mapper 代理开发

Mybatis框架_第3张图片

3.2 Mapper 映射文件(一定要与映射接口同名)


DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "https://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.dao.xxx">
    
    <select id="xxxxx" resultType="com.pojo.xxxx">
        SQL语句
    select>
mapper>

3.3 Mapper 映射接口

package com.dao;
import com.pojo.User;
public interface UserMapper {
	User selectById(int id);
}

3.4 Sqlsession 获取代理对象执行SQL

String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

SqlSession sqlSession = sqlSessionFactory.openSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
userMapper.xxxx()

sqlSession.close(); // 释放资源

4. log4j日志

 A. 相关依赖配置(Maven)


<dependency>
    <groupId>junitgroupId>
    <artifactId>junitartifactId>
    <version>4.13version>
dependency>

<dependency>
    <groupId>log4jgroupId>
    <artifactId>log4jartifactId>
    <version>1.2.17version>
dependency>

 B. log4j.properties

log4j.logger.com.ibatis=DEBUG
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

 c. mybatis-config.xml当中加入log4j的相关设置

<settings>
    <setting name="logImpl" value="STDOUT_LOGGING" />
settings>

5. Mybatis 配置(mybatis-config.xml)

Mybatis 配置文件严格按照顺序配置元素


DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "https://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    
    <properties>properties>
    
    <settings>settings>
	
    <typeAliases>typeAliases>
	
    <typeHandlers>typeHandlers>
	
    <objectFactory>objectFactory>
	
    <plugins>plugins>
	
    <environments default="">
        <environment id="">
            <transactionManager type="">transactionManager>
            <dataSource type="">dataSource>
        environment>
    environments>
	
    <mappers>mappers>
configuration>

5.1 properties 文件

A. properties文件 : 支持读取外部的属性文件,这样可以在属性文件中配置大量备用信息,而Mybatis可以根据键值选择使用部分内容.
B. db.properties文件

driver = com.mysql.cj.jdbc.Driver
url = jdbc:mysql://localhost:3306/test?useSSL=false&useServerPrepStmts=true
username = root
password = 123456

C. Mybatis配置文件当中进行声明

<properties resource="db.properties">properties>

<property name="driver" value="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />

6. 待后续补充内容

Mybatis 原理
Mybatis 增删改查(普通 + 动态SQL语句)
Mybatis 参数传递原理

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