mybatis简介&idea导入mybatis

2023-09-18 16:34:36
  1. mybatis简介
    Mybatis是Apache的一个Java开源项目,是一个支持动态Sql语句的持久层框架。Mybatis可以将Sql语句配置在XML文件中,避免将Sql语句硬编码在Java类中。与JDBC相比:
    1)Mybatis通过参数映射方式,可以将参数灵活的配置在SQL语句中的配置文件中,避免在Java类中配置参数(JDBC)
    2)Mybatis通过输出映射机制,将结果集的检索自动映射成相应的Java对象,避免对结果集手工检索(JDBC)
    3)Mybatis可以通过Xml配置文件对数据库连接进行管理

  2. mybatis基本构成
    SqlSessionFactoryBuilder: 根据配置信息生成SqlSessionFactory
    SqlSessionFactory: 用于生成SqlSession
    SqlSession:
    SqlSession是MyBatis的关键对象,通过这个接口可以操作命令,管理事务等
    SqlMapper:MyBatis的设计组件,有java接口和xml文件构成。需要给出对应的sql映射和映射规则

  3. 引入mybatis
    1)创建一个项目
    在这里插入图片描述在这里插入图片描述(注意:大家可以通过webapp找到要创建的项目,但是要注意我们用的是maven,上面有一个cocoon-webapp别找错了)

在这里插入图片描述
在这里插入图片描述
(注意:首先我们点击“-”,然后在点击Apply,在点击“+”,然后点击Apply,最后在点击“OK”)

文件名:jdbc.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC
jdbc.username=root
jdbc.password=123456
文件名:mybatis.cfg.xml
<?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">
<configuration>
    <!-- 引入外部配置文件 -->
    <properties resource="jdbc.properties"/>

    <settings>
        <setting name="logImpl" value="SLF4J"/>
        <!-- 开启二级缓存 -->
        <!--<setting name="cacheEnabled" value="true"/>-->
    </settings>

    <!-- 别名 -->
    <!--<typeAliases>-->
    <!--<typeAlias type="com.zking.test.model.Book" alias="Book"/>-->
    <!--</typeAliases>-->


    <!--<plugins>
        <plugin interceptor="com.github.pagehelper.PageInterceptor">
        </plugin>
    </plugins>-->

    <!-- 与spring集成后删除 -->
    <!-- 配置mybatis运行环境 -->
    <environments default="development">
        <environment id="development">
            <transactionManager type="jdbc"/>
            <dataSource type="POOLED">
                <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>

    <!-- 与spring集成后删除 -->
    <mappers>
        <mapper resource="mapper/StudentMapper.xml"/>
    </mappers>

</configuration>

在这里插入图片描述

更多推荐

AI也需要透明度?是的,需要

文章目录什么是AI透明度为什么需要AI透明度AI透明度的弱点如何做好AI透明度推荐阅读什么是AI透明度AI透明度指的是人工智能(AI)系统的工作原理和决策过程能够被理解、解释和追踪的程度。它包括以下几个方面:可解释性(Explainability)追踪性(Traceability)公平性和偏见检测(Fairnessan

【校招VIP】测试方案之测试需求分析

考点介绍:需求分析就是要弄清楚用户需要的是什么功能,用户会怎样使用系统。这样我们测试的时候才能更加清楚的知道系统该怎么样运行,才能更好的设计测试用例,才能更好的测试。测试方案之测试需求分析-相关题目及解析内容可点击文章末尾链接查看!一、考点试题1.有ABC三个员工,每个员工都有一个任务;任务类型有普通型和困难型;三个员

前端VUE---JS实现数据的模糊搜索

实现背景因为后端实现人员列表返回,每次返回的数据量在100以内,要求前端自己进行模糊搜索页面实现因为是实时更新数据的,就不需要搜索和重置按钮了代码HTML<el-dialogtitle="团队人员详情":visible.sync="centerDialogVisible"width="30%"center:close-

【从0学习Solidity】7. 映射类型 mapping

【从0学习Solidity】7.映射类型mapping博主简介:不写代码没饭吃,一名全栈领域的创作者,专注于研究互联网产品的解决方案和技术。熟悉云原生、微服务架构,分享一些项目实战经验以及前沿技术的见解。关注我们的主页,探索全栈开发,期待与您一起在移动开发的世界中,不断进步和创造!本文收录于不写代码没饭吃的学习汇报系列

穿越两大空间的调用栈

人是有经历的,软件也如此。简历记录着一个人的经历,而调用栈(callstack)则记录着软件的经历。看一个人的简历可以快速了解一个人。观察调用栈,则可以快速理解软件。因为此,我非常喜欢看软件的调用栈。每当看到一个漂亮的调用栈,我常常如获至宝,端详许久。因为对调试技术的热爱,这些年,我花了很多时间在调试器上。特别是开发了

基于movie lens-100k数据集的协同过滤算法实现

基于movielens-100k数据集的协同过滤算法实现数据集处理基于用户的协同过滤算法的实现基于物品的协同过滤算法的实现数据集处理importpandasaspdu_data=pd.read_csv('D:/PyCharmWorkSpace/ml-100k/ml-100k/u.data')u_genre=pd.rea

使用qt完善对话框功能

1、完善登录框点击登录按钮后,判断账号(admin)和密码(123456)是否一致,如果匹配失败,则弹出错误对话框,文本内容“账号密码不匹配,是否重新登录”,给定两个按钮ok和cancel,点击ok后,会清除密码框中的内容,继续进行登录;如果点击cancel按钮,则关闭界面。如果账号和密码匹配,则弹出信息对话框,给出提

zookeeper + kafka

Zookeeper概述Zookeeper是一个开源的分布式服务管理框架。存储业务服务节点元数据及状态信息,并负责通知再ZooKeeper上注册的服务几点状态给客户端Zookeeper工作机制Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观

Spring 框架的 MethodInterceptor 简介

org.springframework.cglib.proxy.MethodInterceptor是CGLIB库(CodeGenerationLibrary)中的一个接口,用于拦截方法的调用。CGLIB是一个用于生成Java字节码的代码生成库,它通常与SpringAOP一起使用,用于创建动态代理。MethodInter

IaaS,PaaS,SaaS 的区别

越来越多的软件,开始采用云服务。云服务只是一个统称,可以分成三大类。IaaS:基础设施服务,Infrastructure-as-a-servicePaaS:平台服务,Platform-as-a-serviceSaaS:软件服务,Software-as-a-serviceSaaS是软件的开发、管理、部署都交给第三方,不需

Java反序列化和PHP反序列化的区别

文章目录PHP反序列化漏洞什么是反序列化漏洞?修改序列化后的数据,目的是什么?Java反序列化漏洞那么漏洞点在哪里?漏洞成因什么是反序列化漏洞?反序列化存在的意义是为了数据传输,类是无法直接进行传输的。通过序列化后转换为字符串格式或者JSON格式进行传输。序列化与反序列化seriallization序列化:将对象转化为

热文推荐