mybatis 模拟03

news2025/1/11 16:44:22

pom.xml:

<?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.wsd</groupId>
    <artifactId>mybatis</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <!--dom4j依赖-->
        <dependency>
            <groupId>org.dom4j</groupId>
            <artifactId>dom4j</artifactId>
            <version>2.1.3</version>
        </dependency>
        <!--jaxen依赖-->
        <dependency>
            <groupId>jaxen</groupId>
            <artifactId>jaxen</artifactId>
            <version>1.2.0</version>
        </dependency>
        <!--mysql驱动依赖-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.30</version>
        </dependency>
        <!--junit依赖-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13.2</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>17</source>
                    <target>17</target>
                </configuration>
            </plugin>
        </plugins>
    </build>


</project>

配置文件

mybatis-config.xml:

<?xml version="1.0" encoding="UTF-8" ?>
        <!DOCTYPE configuration
                PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
                "https://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
    <environment id="development">
        <transactionManager type="JDBC"/>
        <dataSource type="UNPOOLED">
            <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
            <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
            <property name="username" value="root"/>
            <property name="password" value="root"/>
        </dataSource>
    </environment>
</environments>
<mappers>
    <mapper resource="CarMapper.xml"/>
</mappers>
</configuration>

 mapper文件

CarMapper.xml:

<?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="car">
    <!--insert sql:保存一个汽车信息-->
    <insert id="insertCar">
        insert into t_car
            (id,car_num,brand,guide_price,produce_time,car_type)
        values
            (null,#{carNum},#{brand},#{guidePrice},#{produceTime},#{carType})
    </insert>

    <delete id="deleteByCarNum">
        delete from t_car where car_num = #{carNum}
    </delete>

    <update id="updateCarById">
        update t_car set
            car_num = #{carNum},
            brand = #{brand},
            guide_price = #{guidePrice},
            produce_time = #{produceTime},
            car_type = #{carType}
        where id = #{id}
    </update>

    <select id="selectCarById" resultType="com.wsd.pojo.Car">
        select id,car_num as carNum,brand,guide_price as guidePrice,produce_time as produceTime,car_type as carType
        from t_car
        where id = #{id}
    </select>

    <!--虽然结果是List集合,但是resultType属性需要指定的是List集合中元素的类型。-->
    <select id="selectCarAll" resultType="com.wsd.pojo.Car">
        <!--记得使用as起别名,让查询结果的字段名和java类的属性名对应上。-->
        select
        id, car_num as carNum, brand, guide_price as guidePrice, produce_time as produceTime, car_type as carType
        from
        t_car
    </select>
</mapper>

test:

package com.wsd.core;

import com.wsd.core.util.Resources;
import org.dom4j.DocumentException;
import org.junit.Test;

/**
 * @description: test
 * @author: Mr.Wang
 * @create: 2023-06-24 15:40
 **/
public class TestMyBatis {

    @Test
    public void testSqlSessionFactory(){
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
        try {
            SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(Resources.getResourcesAsStream("mybatis-config.xml"));
            System.out.println(sqlSessionFactory);
        } catch (DocumentException e) {
            e.printStackTrace();
        }

    }
}

debug:

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/694255.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

hexo stellar设置笔记页面

stellar主题的作者在其文档介绍了如何进行笔记页面的简单设置&#xff0c;但是我看了以后还是有点云里雾里&#xff0c;在一顿查阅资料以后&#xff0c;我终于找到了解决办法。 参考下面这个博主的文章。写得很详细&#xff0c;这里就不再赘述啦。 Stellar主题自定义侧边栏教…

通联历史数据如何自动化导入 DolphinDB

在部署完 DolphinDB 后&#xff0c;需要将历史数据批量导入数据库&#xff0c;再进行数据查询、计算和分析等操作。为便于用户快速导入通联历史 Level-2 行情数据&#xff0c;DolphinDB 开发了 DolphinDBModules::easyTLDataImport 模块&#xff08;简称 easyTLDataImport 模块…

Vue之事件修饰符

文章目录 前言一、事件修饰符二、实例1.prevent2.stop3.capture4.self 总结 前言 对事件进行处理。 一、事件修饰符 prevent&#xff1a;阻止默认事件&#xff08;常用&#xff09;。stop&#xff1a;阻止事件冒泡&#xff08;常用&#xff09;。once&#xff1a;事件只触发一…

Linux 系统下克隆 Github 项目指令

文章目录 1. 安装 git2. 设置用户名和邮箱3. 生成密钥4. 复制密钥5. 配置 Github SSH keys6. 克隆项目 1. 安装 git Ubuntu 安装指令 apt-get install gitCentOS 安装指令 yum install git 查看 Git 版本信息 git version2. 设置用户名和邮箱 git config --global user.nam…

【AI底层逻辑】——篇章3(下):信息交换信息加密解密信息中的噪声

续&#xff1a;【AI底层逻辑】——篇章3&#xff08;上&#xff09;&#xff1a;数据、信息与知识&香农信息论&信息熵 目录 三、信息是如何交换的 1、互联网与信息交换 2、哈夫曼和有效编码 四、信息的加密与解密 1、密码学的发展 2、可以被公开的密钥 五、信息…

js 左右滑动切换图片

一、效果图 二、代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdev…

python在线考试系统-计算机毕设 附源码78268

Django在线考试系统 摘 要 本论文主要论述了如何使用python语言、Django框架开发一个在线考试系统&#xff0c;本系统将严格按照软件开发流程&#xff0c;进行各个阶段的工作&#xff0c;面向对象编程思想进行项目开发。在引言中&#xff0c;作者将论述该系统的当前背景以及系统…

【JAVA基础】一文了解forEach循环

前言 相信大家肯定都看过阿里巴巴开发手册&#xff0c;而在阿里巴巴开发手册中明确的指出&#xff0c;不要再foreach循环里面进行元素的add和remove&#xff0c;如果你非要进行remove元素&#xff0c;那么请使用Iterator方式&#xff0c;如果存在并发&#xff0c;那么你一定要…

el-table控制列的显示与隐藏

1、序言 源码在下方&#xff0c;复制粘贴就可运行 当一个表格太多列的时候&#xff0c;想要显示/隐藏一些列&#xff0c;目标效果如下&#xff1a; 默认情况下&#xff0c;展示所有列 隐藏某一列 2、原理 &#xff08;1&#xff09;data数据有&#xff1a;tableData为表格数据&…

c++类和对象收尾

文章目录 隐式类型转换匿名对象拷贝构造----->构造 隐式类型转换 //隐式类型转换 class A { public:/*explicit A(int a ):_a(a){cout << "A(int a )" << endl;}*/A(int a):_a(a){cout << "A(int a )" << endl;}A(const A&…

4. QT环境下使用OPenCV(视频或摄像头读取显示在QLabel控件上)

1. 说明 在用opencv处理图像时,图像的来源大部分情况下是从视频中读取过来的,视频可以是本地保存的视频,也可以是本地摄像头或者网络摄像头实时拍摄的视频。 效果展示: opencv读取视频 2. 具体操作 关于视频的读取,实际上也是从视频中将每一帧图像加载后,显示到QLabel…

【数据可视化方案分享】电商数据分析

本文所分享的电商数据分析报表均来自奥威BI软件的电商数据分析方案&#xff01;该方案是一套包含数据采集、数据建模、数据分析报表的系统化、标准化数据分析方案&#xff0c;下载套用&#xff0c;立见效果&#xff01; 注意&#xff0c;奥威BI软件的电商数据分析方案分两类&a…

Elasticsearch Global Ordinals

用于减少字符串字段 fielddata 内存使用的技术之一称为序数&#xff08;ordinals&#xff09;。想象一下&#xff0c;我们有十亿个文档&#xff0c;每个文档都有一个状态字段。 只有三种状态&#xff1a;status_pending、status_published、status_deleted。 如果我们要在内存中…

Ubuntu离线安装Telnet服务

通过ssh上传telnet包&#xff0c;下载地址&#xff1a;telnet-0.17-41.2build1-amd64资源-CSDN文库 解压telnet包&#xff1a; tar -xzvf telnet_0.17-41.2build1_amd64.tar.gz 安装telnet服务&#xff1a; dpkg -i telnet_0.17-41.2build1_amd64.deb 安装完毕&#xff0c;测…

2023第三届中国RPA+AI开发者大赛圆满收官获奖名单公示

6月26日&#xff0c;历时三个月的2023「第三届中国RPAAI开发者大赛」在苏州国际博览中心圆满收官。本次大赛以“探索创新智能融合”为主题&#xff0c;旨在寻找并推动中国RPA和AI领域的创新人才和前沿技术。云集来自各大行业与领域的企业、高校等326支优秀团队&#xff0c;共计…

chatgpt赋能python:Python读取xlsx中的超链接

Python读取xlsx中的超链接 xlsx是一种常用的电子表格文件格式&#xff0c;在日常的工作生活中经常使用。xlsx文件中可以包含超链接&#xff0c;作为文件中数据的补充和扩展。而Python作为一门强大的编程语言&#xff0c;可以帮助我们轻松读取xlsx文件中的超链接&#xff0c;进…

HarmonyOS/OpenHarmony应用开发-Stage模型UIAbility组件使用(一)

一、UIAbility组件概述1.概述 UIAbility组件是一种包含UI界面的应用组件&#xff0c;主要用于和用户交互。 UIAbility组件是系统调度的基本单元&#xff0c;为应用提供绘制界面的窗口&#xff1b;一个UIAbility组件中可以通过多个页面来实现一个功能模块。每一个UIAbility组件实…

督查督办管理系统新旧时代

旧时代&#xff1a; 传统的督办主要是通过督办人员现场调查催办、电话催办提交工作进展情况等方法&#xff0c;加上市面上的成品型督办系统功能固化&#xff0c;无法根据企业个性化业务需求灵活调整&#xff0c;所以在工作督办上存在诸多不足。 数据管理滞后&#xff0c;效率不…

【ASP技术】web杂谈(1)之什么是ASP?

涉及知识点 什么是 ASP&#xff0c;Request和Response的介绍&#xff0c;Application和session的详细讲解&#xff0c;ASP的特点&#xff0c;ASP的编程环境&#xff0c;ASP内嵌对象&#xff0c;Asp的应用范例。深入了解ASP技术。 原创于&#xff1a;CSDN博主-《拄杖盲学轻声码…

npm install执行报错:ENOENT: no such file or directory, open ‘XXXXX\package.json‘

执行 npm install 报错 解决办法&#xff1a; 先执行 npm init -f 再安装 npm install