Java框架_Mybatis_day01_概述/入门案例

Mybatis知识day01 Mybatis概述及快速入门 一、框架概述 1.1什么是框架? 框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法。另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。 简而言之,框架其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件。 1.2框架要解决的问题: 框架要解决的最重要的一个问题是技术整合的问题,在J2EE的框架中,有着各种.. 阅读详情

目录

一、框架的概述

1.1 常见的JavaEE开发框架

1)解决数据的持久化问题的框架

2)解决 WEB层问题的 MVC 框架

3)解决技术整合问题的框架

1.2 总结

二、Mybatis的概述

2.1 对JDBC的回顾

JDBC缺陷总结:

2.2 Mybatis的概述

2.3 ORM思想简介

三、Mybatis框架入门案例

3.1 导入Maven依赖

3.2 创建数据库

3.3 创建实体类

3.4 创建接口UserDao.java

3.5 sqlMaoConfig.xml

3.6 创建UserDao.xml

3.7 创建测试类

3.8 log4j.properties 日志配置文件


一、框架的概述

JavaEE开发是分层开发的,分别有:表现层、业务层、持久层

1.1 常见的JavaEE开发框架

1)解决数据的持久化问题的框架

       MyBatis本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。

       iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAOs)

       作为持久层的框架,还有一个封装程度更高的框架就是 Hibernate,但这个框架因为各种原因目前在国内的流行程度下降太多,现在公司开发也越来越少使用。 目前使用 Spring Data 来实现数据持久化也是一种趋势

2)解决 WEB层问题的 MVC 框架

       Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。

       Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。

       使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架,如Struts1(现在一般不用),Struts2等。

3)解决技术整合问题的框架

       Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。

      Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。

       目的:解决企业应用开发的复杂性

       功能:使用基本的JavaBean代替EJB

       范围:任何Java应用

       Spring是一个轻量级控制反转(IOC)和面向切面(AOP)的容器框架

1.2 总结

       框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。

       简而言之,框架其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件

二、Mybatis的概述

Mybatis是一个持久层的框架,对JDBC做了轻量级封装。

2.1 对JDBC的回顾

package com.cpz.jdbc;

import java.sql.*;

public class MainJdbc {

    public static void main(String[] args) {
        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        try {
            //加载数据库驱动
            Class.forName("com.mysql.jdbc.Driver");

            //通过驱动管理类获取数据库链接
            connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?characterEncoding=utf-8","root", "root");
            //定义sql语句 ?表示占位符
            String sql = "select * from user where username = ?";
            //获取预处理statement
            preparedStatement = connection.prepareStatement(sql);
            //设置参数,第一个参数为sql语句中参数的序号(从1开始),第二个参数为设置的参数值
            preparedStatement.setString(1, "老王");
            //向数据库发出sql执行查询,查询出结果集
            resultSet = preparedStatement.executeQuery();
            //遍历查询结果集
            while(resultSet.next()){
                System.out.println(resultSet.getString("id")+" "+resultSet.getString("username"));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            //释放资源
            if(resultSet!=null){
                try {
                    resultSet.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if(preparedStatement!=null){
                try {
                    preparedStatement.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if(connection!=null){
                try {
                    connection.close();
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
    }
}

JDBC缺陷总结:

       1:数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库连接池可解决此问题。 

       2:Sql 语句在代码中硬编码,造成代码不易维护,实际应用 sql 变化的可能较大, sql 变动需要改变java 代码。

       3:使用 preparedStatement 向占有位符号传参数存在硬编码,因为 sql 语句的 where 条件不一定,可能多也可能少,修改 sql 还要修改代码,系统不易维护。

       4:对结果集解析存在硬编码(查询列名), sql 变化导致解析代码变化,系统不易维护,如果能将数据库记录封装成 pojo 对象解析比较方便(通过映射,让查询的结果集直接封装到实体类的属性中)。

2.2 Mybatis的概述

       它是基于Java编写的持久层框架,使开发者不必关心传统jdbc的api,只关心sql语句本身。

       mybatis 通过 xml或注解的方式将要执行的各种 statement 配置起来,并通过 java 对象和 statement 中 sql的动态参数进行映射生成最终执行的 sql 语句,最后由 mybatis 框架执行 sql 并将结果映射为 java 对象并返回。采用 ORM 思想解决了实体和数据库映射的问题,对 jdbc 进行了封装,屏蔽了 jdbc api 底层访问细节,使我们不用与 jdbc api 打交道,就可以完成对数据库的持久化操作。

       为了我们能够更好掌握框架运行的内部过程,并且有更好的体验,下面我们将从自定义 Mybatis 框架开始来学习框架。此时我们将会体验框架从无到有的过程体验,也能够很好的综合前面阶段所学的基础

2.3 ORM思想简介

       ORM :Object Relational Mapping    对象关系映射(目的:操作对象,就可以操作数据库)

       通过建立数据库表和Java实体类的对应关系,从而实现操作实体类就相当于操作数据库表。

       ORM思想对应的框架有:mybatis(半自动),hibernate(全自动),spring data jpa(全自动,底层封装的就是hibernate)

       作为持久层的框架,还有一个封装程度更高的框架就是Hibernate,但这个框架因为各种原因目前在国内的流行程度下降太多,现在公司开发也越来越少使用。目前使用Spring Data JPA来实现数据持久化也是一种趋势。

三、Mybatis框架入门案例

3.1 导入Maven依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.itheima</groupId>
    <artifactId>mybatis_day01_quick</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>

    <dependencies>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.5</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.18</version>
        </dependency>
        <!-- 日志坐标 -->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.12</version>
        </dependency>
        <!--测试-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.10</version>
        </dependency>
    </dependencies>
</project>

3.2 创建数据库

create table `user` (
  `id` int(11) not null auto_increment,
  `username` varchar(32) not null comment '用户名称',
  `birthday` datetime default null comment '生日',
  `sex` char(1) default null comment '性别',
  `address` varchar(256) default null comment '地址',
  primary key  (`id`)
) engine=InnoDB default charset=utf8;

insert into `user`(`id`,`username`,`birthday`,`sex`,`address`) values 
        (41,'老王','2018-02-27 17:47:08','男','北京'),
        (42,'小二王','2018-03-02 15:09:37','女','广州'),
        (43,'小二王','2018-03-04 11:34:34','女','九龙'),
        (45,'小明','2018-03-04 12:04:06','男','上海'),
        (46,'老王','2018-03-07 17:37:26','男','深圳'),
        (48,'小马','2018-03-08 11:44:00','女','南京');

3.3 创建实体类

public class User implements Serializable {
    private int id;// 主键ID
    private String username;// 用户姓名
    private String sex;// 性别
    private Date birthday;// 生日
    private String address;// 地址

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", sex='" + sex + '\'' +
                ", birthday=" + birthday +
                ", address='" + address + '\'' +
                '}';
    }
}

3.4 创建接口UserDao.java

public interface UserDao {

    //查询所有
    List<User> findAll();
}

3.5 sqlMaoConfig.xml

       在resources包下,新建sqlMapConfig.xml,表示mybatis的配置文件

<?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">
<!--mybatis的核心配置文件-->
<configuration>
    <!--1:配置连接数据库的环境
        environments default="mysql":名称随便填写
        environment id="mysql":id表示当前环境的唯一标识
        transactionManager type="JDBC":事务管理器,JDBC是固定要求
        dataSource type="POOLED":数据源的连接池,POOLED固定写法,表示使用连接池
    -->
    <environments default="mysql">
        <environment id="mysql">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"></property>
                <property name="url" value="jdbc:mysql:///test"></property>
                <property name="username" value="root"></property>
                <property name="password" value="1234"></property>
            </dataSource>
        </environment>
    </environments>
    <!--2:加载映射文件-->
    <mappers>
        <mapper resource="com/cpz/dao/UserDao.xml"></mapper>
    </mappers>
</configuration>

3.6 创建UserDao.xml

       因为是maven项目,所有xml的文件应该放在resources下,创建包com.cpz.dao,创建UserDao.xml,表示mybatis的映射文件(Dao有几个,映射文件就有几个)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.cpz.dao.UserDao">
    <!--查询所有-->
    <select id="findAll" resultType="com.cpz.domain.User">
        select * from user
    </select>
</mapper>

3.7 创建测试类

package com.itheima.test;

import com.itheima.dao.UserDao;
import com.itheima.domain.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

public class TestMybatis {

    @Test
    public void findAll() throws IOException {
        // mybatis的api
        // 1:加载sqlMapConfig.xml(配置文件),同时加载UserDao.xml(映射文件)
        InputStream in = Resources.getResourceAsStream("sqlMapConfig.xml");
        // 2:创建SqlSessionFactory(1个),相当于DataSource
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
        // 3:创建SqlSession(多个,每个线程都会使用独立的SqlSession),相当于Connection
        SqlSession sqlSession = sqlSessionFactory.openSession();
        // 4:使用SqlSession获取Dao(底层反射和代理技术完成)
        UserDao userDao = sqlSession.getMapper(UserDao.class);
        // 5:操作Dao中的方法(重点)
        List<User> list = userDao.findAll();
        for (User user : list) {
            System.out.println(user);
        }
        // 6:关闭资源
        sqlSession.close();
        in.close();
    }
}

3.8 log4j.properties 日志配置文件

 

# Set root category priority to INFO and its only appender to CONSOLE.
#log4j.rootCategory=INFO, CONSOLE            debug   info   warn error fatal
log4j.rootCategory=debug, CONSOLE

# Set the enterprise logger category to FATAL and its only appender to CONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE

# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m\n

# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=d://axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m\n

 

 

SAP SLT REODPS_REPL API 的使用介绍 本文聚焦 SAP 数据复制生态中的 RODPS_REPL(常被误写为 REODPS_REPL),解析其作为 ODP(Operational Data Provisioning)标准接口的核心功能与应用场景。RODPS_REPL 是 SAP 提供的 ABAP 接口集合,支持从 ODP 上下文(如 ODP_SAPI、ODP_CDS)执行初始化装载和增量捕获,被 SAP BW、Datasphere 及第三方工具(如 Azure Data Factory、Qlik Replicate)广泛调用。 关键要点: 核心对 阅读详情

相关推荐

1panel面板实战:Docker容器存储路径迁移与优化指南

本文详细介绍了在1panel面板中迁移Docker容器存储路径的完整流程与优化方法。针对系统盘空间不足的常见问题,通过停服务、搬数据、改配置三个核心步骤,指导用户安全地将Docker数据目录迁移至更大容量的独立分区,并提供了迁移后的深度管理技巧与常见避坑指南,帮助用户优化服务器存储资源。

ol789012的博客 865

MyBatis连接信息配置详解

MyBatis连接信息配置详解 1.配置详解 <environments default="mysql"> <environment id="mysql"> <!--事务管理:JDBC支持事务管理,MANAGED默认关闭事务--> <transactionManager type="JDBC"></transactionManager> <!--连接池:

qq_45228323的博客 2072

XGBoost与Embedding混合建模实战解析

在机器学习领域,特征工程与模型融合是提升预测性能的关键技术。Embedding技术通过将高维稀疏特征(如文本、ID类数据)转化为低维稠密向量,有效捕获语义关联;而XGBoost作为强大的集成学习算法,擅长处理结构化特征并进行自动特征组合。两者结合的混合架构(如Semantic Boosted Trees)在金融风控和推荐系统等场景中展现出显著优势,尤其在处理用户行为序列、商品ID等复杂特征时,相比传统方法能获得更好的模型效果。本文通过电商推荐和金融反欺诈等案例,详解如何实现Embedding+XGBoost

weixin_28718641的博客 325

MyBatis总结(七)--environments属性介绍

本文内容来自尚硅谷 可配置多个数据源,用id指定到底使用哪个数据源   1配置实例 这里使用了dev_mysql数据源 &lt;!-- 4、environments:环境们,mybatis可以配置多种环境 ,default指定使用某种环境。可以达到快速切换环境。 environment:配置一个具体的环境信息;必须有两个标签;id代表当前环境的唯一标识 tran...

秋天的猿 3414

VMware Converter 6.2.0保姆级教程:从物理机到ESXi主机的完整迁移指南(含常见错误排查)

本文提供VMware Converter 6.2.0从物理机迁移至ESXi主机的完整保姆级教程。详细解析了迁移前的环境规划、核心转换过程步骤、版本差异对比,并重点针对代理安装失败、任务卡顿、虚拟机无法启动等常见错误提供了实战排查与解决方案,确保P2V迁移顺利进行。

sam99的博客 380

数字IC后端实现 | Innovus各个阶段常用命令汇总

数字IC后端设计实现之Innovus常用命令汇总

weixin_37584728的博客 7322

Mybatis-映射配置文件、核心配置文件

映射配置文件包含了数据和对象之间的映射关系以及要执行的 SQL 语句。核心配置文件包含了 MyBatis 最核心的设置和属性信息。如数据库的连接、事务、连接池信息等。 核心配置文件

金鳞踏雨 1999

Mediapipe入门——搭建姿态检测模型并实时输出人体关节点3d坐标(2024.1.4更新)

Mediapipe入门,利用mediapipe搭建人体整体检测模型,并输出右手21个关节点的坐标;mp_holistic.Holistic函数理解,mp_holistic.Holistic.process函数理解;mp.solutions.drawing_utils.draw_landmarks函数理解;Mediapipe实时姿态估计,3d骨架铰接图,matplotlib和Mediapipe绘图

kalakalabala的博客 6万+

Mybatis源码学习(20)-Mybatis初始化时environments的解析过程

一、<environments>元素的结构 在Mybatis-config.xml中,<environments>元素的配置方式如下所示: <environments default="mysql"> <environment id="mysql"> <transactionManager type="JDBC" /&gt...

向心行者 1205

洛奇 服务器文件,MabinogiG20S2 [洛奇G20服务端]

Code:Titles:>set_title /id: /add /remove Parameters for titles>set_title /id:60001 /add add devcat title>set_title /id:60001 /remove remove devcat title===========================...

weixin_30813385的博客 4305

Matlab R2018b简体中文版完整安装图文教程(附安装包下载)

目 录 一、安装过程 二、下载地址 matlab R2018b安装包如下所示,包括主程序和补丁文件两部分。 一、安装过程 双击安装包中的setup.exe。 选择使用文件安装MIYAO,点击下一步。 接受协议,选择是,点击下一步。 输入序列号:09806-07443-53955-64350-21751-41297,点击下一步。 修改安装路径,点击下...

智慧空间实验室 1万+

Mybatis学习day_01框架概述入门案例

什么是框架 它是我们软件开发中的一套解决方案,不同的框架解决的是不同的问题,比如mybatis解决的是持久层的问题。 使用框架的好处:框架封装了很多的细节,使开发者可以使用极简的方式实现功能,大大提高开发效率 三层架构 表现层:用于展示数据 业务层:处理业务需求 持久层:和数据库交互 持久层技术解决方案 JDBC:Connection、PreparedStatement、Resul...

chenchen818的博客 213

【异常检测】新版异常检测库anomalib的使用

异常检测库anomalib的使用。

胡侃有料的博客 4390

【JAVA_EE】Day01 MyBatis框架

MyBatis框架是一个支持普通SQL操作、存储及高级映射的持久层框架,通过使用简单的XML或注解进行配置和原始映射,将接口和Java的POJO映射为数据库中的记录,使开发人员可以使用面向对象的编程思想和方式来操作数据库。

HLJ_Student的博客 1008

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

MyBatis笔记Day01_入门案例

1、 什么是框架? 它是软件开发中的一套解决方案,不同的框架解决不同的问题。 使用框架的好处: 框架封装了很多细节,使开发者可以使用极简的方式实现功能,大大提高开发效率。 2、三层架构 表现层: 用于数据展示 业务层: 处理业务需求 持久层: 和数据库交互 3、 持久层技术解决方案 JDBC技术: Connection PreparedStatement ResultSet Spring的JdbcTemplate: Spring中对jdbc的简单封装 Apache的DBUt

ZM つ小灰灰的成长的博客 1307

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

黑马mybatis框架笔记day01

第一天 1、什么是框架? 他是我们软件开发中的一套解决方案,不同的框架解决的是不同的问题。 使用框架的好处:框架封装了很多的细节,使开发者可以使用极简的方式实现功能。大大提高开发效率。 2、三层架构 表现层:用于展示数据的 业务层:处理业务需求 持久层:和数据库交互的 3、持久层技术解决方案 jdbc技术: Connection PreparedStatement ResultSet ...

weixin_43353418的博客 638

SSM框架之Mybatis学习笔记day01

Mybatis学习笔记day01 目录 1. Mybatis 的概述 2. Mybatis 的环境搭建 3. Mybatis 的入门案例 1. Mybatis 的概述 Mybatis是一个使用java编写的持久层框架,它封装了JDBC,使开发者只需更多的关注sql语句,而无需再进行注册驱动、获取连接、获取预处理对象等繁琐操作。简而言之,使用这个框架可以简化我们对数据库的操作,提升我们开发的效率; 采用了ORM(Object Rational Mapping)思想,即对象关系映射,把数据库和实体类及其

qq_43553929的博客 410

SSM框架 - Spring_day01:课程介绍与学习总览

对于一门新技术,我们需要从为什么要学学什么以及怎么学这三个方向入手来学习。

tang7mj的博客 1026

MyBatis总结 Day01

1.MyBatis介绍 ​ MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀半自动持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装,转而使用简单的XML或注解用于配置原始映射,将接口和Java的POJO(普通Java对象)映射为数据库中的记录。 ​ 半自动化:需要手写SQL语句。 JDBC–>dbutils–>MyBatis–>Hibernate(过于自动化) 2.MyBatis入门 2.1 导包 【mybatis】 myba

闪闪UtahaのOffice 7266

Day01. mybatis框架

Mybatis的知识笔记

weixin_46580576的博客 606

SSM学习笔记(7)_MyBatis_Day01_概述/入门/自定义的Mybatis

MyBatis框架 Day01 1.框架概述 1.1 框架的基本概念 1.什么是框架? 它是我们软件开发中的一套解决方案,不同的框架解决的是不同的问题。 使用框架的好处:框架封装了很多的细节,使开发者可以使用极简的方式实现功能。大大提高开发效率。 2.三层架构 表现层:是用于展示数据的 业务层:是处理业务需求 持久层:是和数据库交互的 3.SSM框架 4.持久层技术解决方案 JDBC技术: Connection PreparedStatement ResultSet Spring的JdbcTemplate

耿鬼不会笑的博客 273

Mybatis学习day01

一、前言 Mybatis的学习,我是通过哔哩哔哩网站上的视频,黑马程序员的,个人觉得很不错,推荐给大家,讲解思路清晰,内容充实,总共四天,让我能够全面的了解Mybatis的常用操作及应用。 链接如下:https://www.bilibili.com/video/av47952553/?p=1 二、Mybatis框架简介 mybatis是一个优秀的基于java的持久层框架,它内部封装了jdbc,使开...

qq_34504626的博客 234

MyBatis入门_Day01

MyBatis学习 Day01 三层架构和ssm框架的对应关系 1 框架 1.1 框架的定义 它是我们软件开发中的一套解决方案,不同的框架解决的是不同的问题。 1.2 使用框架的优点 框架封装了很多的细节,使开发者可以简化开发过程,更多的把开发重点放在业务逻辑上,大大提高开发效率。 2 三层结构 表现层:用于展示数据 业务层:用于处理业务需求 持久层:与数据库交互 3 持久层技术解决方案 (1)JDBC技术: Connection PreparedStatement ResultSet (2)Spring的

qq_39419082的博客 275

MyBatis 入门案例

mybatis 是一个优秀的基于 java 的持久层框架,它内部封装了 jdbc,使开发者只需要关注 sql 语句本身,而不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。

Thinking In Java 1万+

JAVA WEB DAY 12_ MyBatis(day01)

MyBatis 01_数据库元数据概述-[★★] 元数据的概念:用来定义数据表的数据 元数据的分类: 数据库元数据:用来获得数据库厂商的信息,驱动包的信息等 参数元数据:用来获取占位符的个数以及对应数据类型 结果集元数据:用获取结果集中的列的数量,列的类型,列的名字 02_ParameterMetaData 元数据-[★★★] ParameterMetaData对象常用方法 ParameterMetaData对象常用方法 说明 int getParameterCount()

NTT0101的博客 445

Mybatis day01 框架初解和分层思想、MyBatis框架

Mybatis day01 框架初解和分层思想、MyBatis框架

weixin_44504809的博客 312
上一篇: Java基础_面向对象
下一篇: Java框架_Mybatis_day02_CRUD操作
chipeize
博客等级 码龄10年 23粉丝 80原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值