mybatis之入门案例-xml文件写法【新手入门】

Mybatis XML文件中使用CDATA标签 本文主要介绍了:在编写Mybatis XML 文件时,遇到特殊字符的两种对策。本文推荐使用CDATA标签,但也给出了在自己输出任意XML文件时不使用CDATA标签的建议及解释。 阅读详情

mybatis的环境搭建

第一步:创建maven工程并导入坐标
第二步:创建实体类和dao的接口
第三步:创建Mybatis的主配置文件 SqlMapConifg.xml
第四步:创建映射配置文件 UserDao.xml

第五步:编写测试类

步骤开始:

包的层级关系:
这是建立工程对包层级关系的描述
**第一步:创建maven工程并导入坐标

 <dependencies>
        <!--mybatis的依赖-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.5</version>
        </dependency>
        <!--mysql的配置文件-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.6</version>
        </dependency>
        <!--测试类-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
        <!--日志文件-->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
    </dependencies>

**

第二步:创建实体类和dao的接口

**
数据库表:

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(32) DEFAULT NULL,
  `birthday` varchar(200) NOT NULL,
  `sex` char(1) DEFAULT NULL,
  `address` varchar(256) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8

实体类

import java.io.Serializable;


public class User implements Serializable {
    private Integer id;
    private String username;
    private String birthday;
    private String sex;
    private String address;
}

创建UserDao.java 的接口

import cn.hs.daomain.User;

import java.util.List;

//用户的持久层接口
public interface UserDao {
    /**
     * 查询全部的接口方法
     * @return
     */
    List<User> findAll();
}

第三步:创建Mybatis的主配置文件 SqlMapConifg.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">
<!--mybatis的主配置文件-->
<configuration>
    <!--配置环境-->
    <environments default="mysql">
        <!--default:随意配置
        名字上面要和下面的mysql相对应-->
        <environment id="mysql">
            <!--配置事务类型-->
            <transactionManager type="JDBC"></transactionManager>
            <!--配置数据源(连接池)-->
            <dataSource type="POOLED">
                <!--配置连接数据库的四个基本信息-->
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <!--user是我的数据库名称,请读者换成自己的数据库名称-->
                <property name="url" value="jdbc:mysql://localhost:3306/user"/>
                <!--root 是mysql数据库用户名-->
                <property name="username" value="root"/> 
                <!--root是数据库密码-->
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>

    <!--指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件-->
    <mappers>
        <mapper resource="cn/hs/dao/UserDao.xml"/>
    </mappers>
</configuration>

第四步:创建映射配置文件 UserDao.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">
        <!--namespace="cn.hs.dao.UserDao"==>接口的全限定类名-->
<mapper namespace="cn.hs.dao.UserDao">
    <!--配置查询所有-->
    <!--findAll==>不能随便写,要和你接口中的方法名称相对应-->
    <!--resultType="cn.hs.daomain.User"==》指返回值类型-->
    <select id="findAll" resultType="cn.hs.daomain.User">
        SELECT * from user
    </select>
</mapper>

第五步:编写测试类

import cn.hs.dao.UserDao;
import cn.hs.daomain.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 java.io.InputStream;
import java.util.List;

/*
* 入门案例
* */
public class MybatisTest {
    public static void main(String[] args) throws Exception {
//        1.读取配置文件
        InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
//        2.创建sqlSessionFactory工厂
        SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
        SqlSessionFactory factory = builder.build(in);
//        3.使用工厂生产SqlSession对象
        SqlSession session = factory.openSession();
//        4 使用sqlSession创建Dao接口的代理对象
        UserDao userDao = session.getMapper(UserDao.class);
//        5.使用代理对象执行方法
        List<User> users = userDao.findAll();
        for (User user : users) {
            System.out.println(user);
        }
//        6.释放资源
        session.close();
        in.close();
    }
}

运行结果:

log4j:WARN No appenders could be found for logger (org.apache.ibatis.logging.LogFactory).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
User{id=1, username='zs', birthday='0000-00-00', sex='男', address='测试数据'}
User{id=2, username='lisi', birthday='2019-06-08', sex='男', address='测试数据'}
User{id=3, username='ww', birthday='2019-07-07', sex='男', address='测试数据'}
User{id=6, username='mz', birthday='2019-2-2', sex='男', address='测试数据'}

Process finished with exit code 0
Silvaco二极管、三极管、CMOS的制备 Silvaco二极管和三极管的制备 阅读详情

相关推荐

告别Selenium!纯Python+Requests搞定微信视频号登录Cookie(附完整代码与避坑指南)

本文详细介绍了如何利用纯Python和Requests库实现微信视频号的自动化登录,替代传统的Selenium方案。通过解析HTTP请求交互流程,提供完整的代码实现和避坑指南,显著提升爬虫效率和隐蔽性,适用于轻量化爬虫开发。

weixin_30642561的博客 312

mybatis的xml文档编写

mybatis.xml初始映射文件标签新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 初始映射文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE ma

戴维小熊的博客 1万+

告别模糊与偏色:使用RKISP Tuner为RK3588s+IMX415进行图像质量调优的实战心得

本文详细介绍了如何使用RKISP Tuner为RK3588s+IMX415进行图像质量调优的实战经验。从调试环境搭建到3A算法优化,再到画质增强模块的深度调参,提供了全面的技术指导和参数建议,帮助工程师解决噪声、色偏和细节模糊等常见问题,显著提升成像质量。

weixin_28729205的博客 453

MyBatis xml配置文件详解

一、MyBatis 配置文件基本结构 在使用mybatis框架时,首先导入其对应的jar包,并进行相应的配置,所以得对配置文件的每个参数都得了解。一个完全的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.

学Java,找哪吒 2万+

论文分享|ECCV2022,PATnet,Cross-Domain Few-Shot Semantic Segmentation,CDFSS新基准,文末有复现教程

这篇论文提出的跨域小样本语义分割(CD-FSS)任务,旨在将源域学习的分割能力迁移到目标域,仅需少量标注样本。针对传统小样本分割方法在跨域场景性能下降的问题,作者提出了基于金字塔锚点变换的网络(PATNet),通过将域相关特征转换为域无关特征,并引入任务自适应微调推理(TFI)提升目标域适应能力。实验表明,PATNet在1-shot和5-shot设置下分别比现有方法提升8.49%和10.61%的准确率。同时,作者构建了CD-FSS基准并设计了任务难度评估指标。代码和数据集已开源,复现难度中等。

m0_74277350的博客 1095

n8n AI高效工作流自动化 部署使用教程

摘要: n8n是一款开源可视化工作流自动化工具,结合AI能力可高效解决重复性任务。文章详细介绍了从Docker部署到实战应用的完整流程:1)通过Docker Compose自托管n8n,确保数据可控;2)以AI客服日报机器人为例,演示如何串联工单系统、ChatGPT和邮件通知,实现定时自动化;3)进阶搭建交互式AI助手,利用ToolsAgent节点调用业务API;4)整合向量数据库构建RAG知识库问答。关键建议包括:拆分复杂工作流、严格管理凭据、区分开发与生产环境,并建议从高频刚性需求(如日报生成)切入,逐

专注AI大模型,软件混淆,授权 266

MyBatis:XML操作

MyBatis:XML操作

子夜的个人博客 5681

TI单芯片毫米波雷达1642代码走读(〇)——总纲

前言 近年来,自动驾驶行业发展如火如荼,雷达技术也逐渐从军工封闭圈走向了开放的市场。 毫米波雷达具有全天候探测能力,特别是在雨雪雾天气以及夜间都能可靠工作,并且探测距离相对其他车载传感器非常远,对运动目标非常敏感,价格还低廉,这些特性都使其成为自动驾驶感知层面不可或缺的一环。 现如今的雷达已经不仅仅局限于测距测速测角等传统的功能,雷达技术正在从感知走向认知、从宽带走向超宽带、从二维走向三维四维、从相控阵走向数字阵列、从单通道走向MIMO、从独立工作走向分布式协同、从分立组件走向射频数字一体化。MIMO

3万+

mybatis的xml文件常用写法

如果传递的是一个List,则mybatis会封装为一个list为key,list值为object的map,如果是array,则封装成一个array为key,array的值为object的map,如果自己封装呢,则colloection里放的是自己封装的map里的key值。此外,如果标签返回的内容是以AND 或OR 开头的,则它会剔除掉。使用时比较灵活, new一个这样的实体类,我们需要限制那个条件,只需要附上相应的值就会where这个条件,相反不去赋值就可以不在where中判断。

m0_56668216的博客 1078

STM32入门教程:无人机控制

我们将会一步一步引导您完成无人机的控制代码,包括无人机的姿态控制、飞行控制和通信控制等。第三步:配置无人机姿态控制 无人机的姿态控制是指控制无人机在空中的倾斜和转向。为了实现姿态控制,我们需要使用加速度计和陀螺仪传感器来获取无人机的姿态信息,并使用PID控制算法来控制无人机的姿态。在这一步骤中,您需要根据您使用的具体传感器和控制算法的要求进行更详细的配置和编码。在通信控制中,您需要考虑到通信的稳定性和可靠性。第五步:通信控制 无人机的通信控制是指与地面站或其他设备进行通信,传输飞行数据和接收飞行指令。

m0_75244442的博客 747

【软件系统架构】系列六: SysML(系统建模语言)

SysML(系统建模语言)是OMG组织基于UML扩展的专用建模语言,用于支持复杂系统全生命周期建模。它包含9类标准图,核心建模元素包括块(Block)、端口接口、需求和约束等。与UML相比,SysML更适用于软硬件结合的复杂系统建模。作为MBSE的核心工具,SysML通过结构图、行为图、需求图和参数图实现系统设计、需求追踪和性能验证。虽然面临学习门槛高、工具成本高等挑战,但随着AI融合和国产化替代趋势,SysML在航空航天、汽车电子等领域的应用日益广泛。SysML v2将简化语法并提升互操作性,推动系统工程

moton2017的博客 2386

mybatis .xml文件书写

<?xml version="1.0" encoding="UTF-8" ?> <!--setting:控制mybatis全局行为--> <settings> <!--设置mybatis输出日志--> <setting name="logImpl" value="STDOUT_LOGGING"/> </settings> <!--定义别名--> <typeAliases> &l

m0_52946104的博客 281

第069篇:浸入边界法进阶

浸入边界法(Immersed Boundary Method, IBM)是处理流固耦合问题的强大数值方法。本文深入介绍直接力法、反馈力法、Ghost Cell方法和多域IBM等高级技术。通过Python实现完整的IBM求解器,展示处理移动边界、弹性边界和多体相互作用的方法。浸入边界法,直接力法,反馈力法,Ghost Cell,流固耦合,移动边界,弹性边界Navier-Stokes方程添加体积力项:∂u∂t+(u⋅∇)u=−1ρ∇p+ν∇2u+f\frac{\partial \mathbf{u}}{\part

2401_87715305的博客 412

mybatis之入门案例-注解写法【新手入门】

mybatis的环境搭建 第一步:创建maven工程并导入坐标 第二步:创建实体类和dao的接口 第三步:创建Mybatis的主配置文件 SqlMapConifg.xml 第四步:编写测试类 ** 步骤开始: ** 包的层级关系: **第一步:创建maven工程并导入坐标 <dependencies> <!--mybatis的依赖--> &...

wangxuejava的博客 427

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

MyBatis学习(三):解析MyBatis的SQL映射XML文件写法和使用原理

上面的两篇文章,分别是MyBatis的入门小程序和MyBatis的配置XML解析,有需要的可以先去看看这两篇文章,本篇文章,会来讲解SQL映射XML文件的写法以及如何使用。 MyBatis真正的力量在于其映射语句。这里应该是奇迹发生的地方。SQL映射的XML文件是相当简单的。如果与功能对等的JDBC相比较,你会发现它减少了大约95%的代码量。MyBatis的构建应该聚焦于SQL的XML文件的构建

daguairen的博客 2万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

【mybatis】xml 大于|小于|等于 写法及介绍

在*.xml中使用常规的<=>=会与xml的语法存在冲突。

ChickenBro_的博客 6190

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

MyBatis入门——MyBatis XML配置文件(3)

MyBatis的开发有两种方式:1、注解 2、XML。使用MyBatis的注解方式,主要是来完成一些简单的增删改查功能。,也就是将SQL语句写在XML配置文件中。MyBatis XML开发的方式需要以下两步:1、配置数据库连接字符串和MyBatis。2、写持久层代码。

cool_tao6的博客 1859

一、MyBatis入门案例(基于xml)

以user实体类为例搭建一个入门案例(基于xml配置) 1、 mybatis所需依赖 <dependencies> <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis

学习笔记 319

MyBatis 安装下载 及入门案例

文章目录1.下载MyBatis2.MyBatis 入门案例2.1测试数据库2.2准备对应实体类 1.下载MyBatis **1. 百度搜索:MyBatis ** 2. 进入MyBatis - GitHub 3. 进入GitHub下载界面 2.MyBatis 入门案例 2.1测试数据库 CREATE DATABASE mybatis CHAR SET utf8; -- 创建数据库 USE mybatis; CREATE TABLE `user`( id INT PRIMARY KEY AUTO_IN..

warmsun 4367

mybatis xml 中的 大于、小于、等于 写法

在*.xml中使用常规的=会与xml的语法存在冲突。

weixin_41200988的博客 2万+

eclipse 创建mybatis-config.xml、mapper.xml文件 【mybatis入门】

首先,你需要有一个mybatis-3.4.1.jar文件(如果没有,可以从官网下载),然后直接解压jar文件,在org目录下找到以下两个DTD 文件: 将mybatis-3-config.dtd 和 mybatis-3-mapper.dtd 两个文件copy到eclipse的安装目录下,新建mybatis-config文件夹: 依次点击 :eclipse &gt; Window &gt; Pr...

qq_21202769的博客 8813

Mybatis12-xml文件与mapper文件的目录位置说明

本文详细介绍了MyBatis中Mapper XML文件的存放路径配置问题。主要内容包括:1)默认扫描路径为classpath:/mapper/**/*.xml,推荐将XML文件放在resources/mapper目录下;2)解释了XML文件与Mapper接口绑定的核心要素是namespace匹配和能被正确扫描到;3)针对希望将XML文件与Java接口放在同一目录的需求,提供了三种解决方案,重点推荐通过修改pom.xml配置将Java目录下的XML文件打包进classpath;4)列举了常见错误及解决方法。

qq_31532983的博客 1037

MyBatis的XML映射配置文件

2.3 MybatisX的使用。2.1 XML配置文件规范。2.2 XML配置文件实现。

weixin_53622554的博客 4510

MyBatis_入门案例(xml)

文章目录2. MyBatis 入门案例(xml)2.1. 数据库连接2.2. MyBatis核心配置2.3. mapper.xml2.4. 测试总结: 2. MyBatis 入门案例(xml) 使用xml配置的方式查询出user表中的数据 配置数据库连接 设置mybatis核心配置文件 编写mybatis的sql映射文件 测试 2.1. 数据库连接 jdbc.properties #注意mybatis版本>=6.0使用如下驱动,如果<6.0使用com.mysql.jdbc.Driver dr

qq_44509920的博客 321

MyBatis的xml文件的大于,小于,不等于的写法

MyBatis

桐花思雨 3387

mybatis的mapper对应的xml写法

在MyBatis中,如果不写这样的条件判断,如果是对表的写操作,如 update,其中的 set 中当name参数为null时,生成的SQL语句会直接包含name = null,从而将数据库中的对应字段更新为NULL。如果没写 @Param,MyBatis 默认将未使用 @Param 注解的参数封装为 Map,键名为 param1、param2、…if 是独立的判断,而 choose when 更像 ifelse 逻辑,一旦判断一个满足,后续的 when 就不执行了!是可选的,但如果省略且所有。

abcnull 的博客 2256
上一篇: springcloud之异常找不到实体类【 Cause: java.lang.ClassNotFoundException: Cannot find class: Product】
下一篇: mybatis之入门案例-注解写法【新手入门】
wangxuejava
博客等级 码龄7年 6粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值