Maven + MyBatis

文章目录

  • Maven 配置
  • mybatis-config.xml 核心配置文件模板
  • mybatis 映射 mapper可以 package不可以解决

Maven目录结构

Maven 配置

在这里插入图片描述

  1. 核心配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!-- .dtd约束 -->
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><!--根元素-->
<configuration><!-- 加载外部配置文件 --><properties resource="jdbc.properties"/><!-- 开启驼峰映射 把数据表中带有下划线的字段 变为 Java驼峰命名方式  user_name  -> userName 或 username --><settings><setting name="mapUnderscoreToCamelCase" value="true"/></settings><!-- 配置别名 把长名字 变成 短名字 --><typeAliases><!-- 扫描制定包  把 包下所有的类都起别名  格式: 全部小写 或者 和类名一致 --><package name="com.hebut.pojo"/></typeAliases><!-- 配置数据源 --><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><!-- 配置测试环境 --><environment id="test"><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><!-- 配置映射文件 --><mappers><!-- 扫描指定包  把包下所有的映射文件都加载进来 --><!--        <package name="com.hebut.dao"/>--><mapper resource="com.hebut.dao/UserMapper.xml"/></mappers>
</configuration>
  1. 映射文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.hebut.dao.UserMapper"><select id="findAll" resultType="User">select *from user</select><!--  parameterType 自动处理 不写也行  --><insert id="insertUser" parameterType="User">insert into uservalues (#{id}, #{username}, #{birthday}, #{sex}, #{address})</insert></mapper>
  1. 外部配置文件
jdbc.driver = com.mysql.cj.jdbc.Driver
jdbc.url = jdbc:mysql://127.0.0.1:3306/study
jdbc.username = root
jdbc.password = 123456
  1. 接口
package com.hebut.dao;import com.hebut.pojo.User;import java.util.List;public interface UserMapper {public List<User> findAll();public int insertUser(User user);}
  1. pom依赖
<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.hebut</groupId><artifactId>mybatis</artifactId><version>1.0</version><packaging>jar</packaging><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><version>8.0.32</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.2</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.36</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.2.11</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-core</artifactId><version>1.2.11</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><dependency><groupId>org.testng</groupId><artifactId>testng</artifactId><version>RELEASE</version><scope>test</scope></dependency></dependencies>
</project>

mybatis-config.xml 核心配置文件模板

<?xml version="1.0" encoding="UTF-8" ?>
<!-- .dtd约束 -->
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><!--根元素-->
<configuration><!-- 加载外部配置文件     resources目录下的 properties 文件 --><!--  <properties resource="jdbc.properties"/>  --><properties resource=""/><!-- 开启驼峰映射 把数据表中带有下划线的字段 变为 Java驼峰命名方式  user_name  -> userName 或 username --><settings><setting name="mapUnderscoreToCamelCase" value="true"/></settings><!-- 配置别名 把长名字 变成 短名字 --><typeAliases><!-- 扫描指定包  把包下所有的类都起别名  格式: 全部小写 或者 和类名一致  后面的返回类型直接写 实体类名就行--><!--   <package name="com.hebut.pojo"/>   --><package name=""/></typeAliases><!-- 配置数据源 --><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><!-- 配置测试环境 --><environment id="test"><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><!-- 配置映射文件 --><mappers><!-- 扫描指定包  把包下所有的映射文件都加载进来  注解方式必须用这个 --><!-- <package name="com.hebut.dao"/> --><package name=""/><!-- 加载指定映射文件  XML映射文件用  也可以用上面的 --><!-- <mapper resource="com.hebut.dao/XXXMapper.xml"/> --></mappers>
</configuration>

mybatis 映射 mapper可以 package不可以解决

在resources下新建目录时,要用 com/hebut/dao 不能用 com.hebut.dao

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

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

相关文章

【Spring MVC 常用注解】注解驱动开发的魔法

在 Spring MVC 中&#xff0c;注解可以说是开发者的“魔法棒”&#xff0c;通过简单的注解配置&#xff0c;开发者能够实现请求处理、参数绑定、响应返回等复杂功能&#xff0c;真正做到“少写代码多干活”。 我们接下来就来一起看看 Spring MVC 中常用的注解&#xff0c;它们的…

【最新】西陆房产系统源码+uniapp全开源+环境教程

一.介绍 西陆房产管理系统&#xff0c;支持小程序、H5、APP&#xff1b;包含房客、房东(高级授权)、经纪人(高级授权)三种身份。核心功能有&#xff1a;新盘销售、房屋租赁、地图找房、房源代理(高级授权)、在线签约(高级授权)、电子合同(高级授权)、客户CRM跟进(高级授权)、经…

Elasticsearch检索之三:官方推荐方案search_after检索实现(golang)

Elasticsearch8.17.0在mac上的安装 Kibana8.17.0在mac上的安装 Elasticsearch检索方案之一&#xff1a;使用fromsize实现分页 快速掌握Elasticsearch检索之二&#xff1a;滚动查询(scrool)获取全量数据(golang) 1、search_after检索 在前面的文章介绍了fromsize的普通分页…

小程序基础 —— 10 如何调试小程序代码

如何调试小程序代码 在进行项目开发的时候&#xff0c;不可避免需要进行调试&#xff0c;那么如何调试小程序呢&#xff1f; 打开微信开发者工具后&#xff0c;有一个模拟器&#xff0c;通过模拟器能够实时预览自己写的页面&#xff0c;如下&#xff1a; 在上部工具栏中有一个…

Oracle中listagg与wm_concat函数的区别

Oracle中listagg与wm_concat都可以用于将多行数据合并成一个字符串的两个函数&#xff0c;区别如下&#xff1a; 1、分隔符&#xff1a;listagg支持指定分隔符&#xff0c;wm_concat默认为"&#xff0c;"不支持指定&#xff1b; 2、排序&#xff1a;listagg支持排序后…

VLM和VLAM(VLA)相关介绍和发展历程

目录 一、个人感想二、相关介绍2.1 视觉语言模型 (VLM) 的发展历程2.2 视觉语言动作模型 (VLA) 的发展历程2.3 一些关键的研究工作&#xff1a;一些架构图 三、发展历程3.1 视觉语言模型 (VLM) 的发展时间线3.2 视觉语言动作模型 (VLA) 的发展时间线 四、参考资料 一、个人感想…

算法题(18):删除有序数组中的重复项2

审题&#xff1a; 需要原地删除数据让数组中一个数据只能出现最多2次&#xff0c;并返回修改后的数组的数据个数 &#xff08;不会有空数组情况&#xff09; 思路&#xff1a; 双指针&#xff1a;我们用left指向下一个需要插入数据的位置&#xff0c;right去遍历数组 left数据的…

什么是变分法(Calculus of Variations)?以及 欧拉-拉格朗日方程(Euler-Lagrange Equation)具体推导:中英双语

中文版 什么是变分法&#xff08;Calculus of Variations&#xff09;&#xff1f; 变分法&#xff08;Calculus of Variations&#xff09;是一种数学方法&#xff0c;用于求解在某种条件下&#xff0c;使某个函数达到极值&#xff08;最大值或最小值&#xff09;的变量。变…

IPv6 基础协议-NDP

IPv6 基础协议报文 何为基础协议&#xff1f;像v4中的icmp、arp、hdcp之类的 在v6中只需要NDP协议&#xff0c;他是通过ICMPv6报文完成的&#xff0c;她能够实现邻居发现、无状态地址检测、重复地址检测、PMTU等功能 RS&#xff08;133&#xff09;RA&#xff08;134&#x…

MySQL外键类型与应用场景总结:优缺点一目了然

前言&#xff1a; MySQL的外键简介&#xff1a;在 MySQL 中&#xff0c;外键 (Foreign Key) 用于建立和强制表之间的关联&#xff0c;确保数据的一致性和完整性。外键的作用主要是限制和维护引用完整性 (Referential Integrity)。 主要体现在引用操作发生变化时的处理方式&…

MONI后台管理系统-敏感信息脱敏传输

本文章纯转载&#xff0c;如有侵权联系删除 SpringBoot如何优雅地实现返回数据脱敏 前言&#xff1a;数据脱敏是一种常见的数据安全保护技术&#xff0c;可以在保护数据隐私的同时&#xff0c;保持数据的有效性和可用性。在 Spring Boot 中&#xff0c;我们可以使用注解的方式实…

分布式事务入门 一

分布式事务入门 一 您好&#xff0c;我是今夜写代码,今天学习下分布式事务相关理论&#xff0c;以及常见的解决方案&#xff0c;为后续掌握Seata分布式事务框奠定基础。 为什么需要分布式事务? 分布式事务主要由于存储资源的分布性&#xff0c;通常涉及多个数据库。 分布式…

Goland:专为Go语言设计的高效IDE

本文还有配套的精品资源&#xff0c;点击获取 简介&#xff1a;Goland是JetBrains公司开发的集成开发环境&#xff08;IDE&#xff09;&#xff0c;专为Go语言设计&#xff0c;提供了高效的代码编辑、强大的调试工具和丰富的项目管理功能。其智能代码补全、强大的调试与测试支…

uniapp 前端解决精度丢失的问题 (后端返回分布式id)

原因&#xff1a; 后端使用分布式id, id为19位数&#xff0c;导致精度丢失 &#xff0c;前端解决方法 这个是通过浏览器请求回来的数据&#xff0c;这个时候id 数据已经丢失了&#xff0c;在数据库查询不到&#xff0c;在调获详情接口的时候会有问题 实际的&#xff1a; 解决…

Pandas07

Pandas01 Pandas02 Pandas03 Pandas04 Pandas05 Pandas06 文章目录 1 用户偏好分析 TGI1.1 TGI介绍1.2 TGI案例代码 2 用户评论文本分析2.1 用户评论文本分析简介 1 用户偏好分析 TGI 1.1 TGI介绍 TGI&#xff08;Target Group Index&#xff0c;目标群体指数&#xff09;用于…

spring cloud微服务-OpenFeign的使用

OpenFeign的使用 openFeign的作用是服务间的远程调用 &#xff0c;比如通过OpenFeign可以实现调用远程服务。 已经有了LoadBalancer为什么还要用openFeign? 在微服务架构中&#xff0c;LoadBalancer和OpenFeign虽然都提供了服务间调用的能力&#xff0c;但它们的设计目的和…

使用PHP函数 “setcookie“ 设置cookie

在网站开发中&#xff0c;cookie是一种非常常用的技术&#xff0c;它用于在用户的浏览器中存储少量的数据&#xff0c;以便在不同页面之间传递信息。PHP提供了一个名为 "setcookie" 的函数&#xff0c;用于设置cookie的值和属性。在本文中&#xff0c;我们将学习如何…

读书笔记-《乡下人的悲歌》

前段时间看了一些 J.D. Vance 的采访视频&#xff0c;几乎都是记者带着刁难的问题先手进攻&#xff0c;而 Vance 面带微笑&#xff0c;提及对方的名字&#xff0c;条理清晰地从对方的攻击中切回主题形成后手反制&#xff0c;实在让人看得过瘾。 更不可思议的是&#xff0c;Van…

Datawhale-AI冬令营二期

目录 一、番茄时钟&#xff08;1&#xff09;输入Prompt&#xff08;2&#xff09;创建 HTML 文件解析1&#xff1a;HTML结构解析2&#xff1a;计时器内容解析3&#xff1a;按钮区域解析4&#xff1a;脚本引用 &#xff08;3&#xff09;使用JavaScript实现时钟功能解析1&#…

【Sentinel】流控效果与热点参数限流

目录 1.流控效果 1.1.warm up 2.2.排队等待 1.3.总结 2.热点参数限流 2.1.全局参数限流 2.2.热点参数限流 2.3.案例 1.流控效果 在流控的高级选项中&#xff0c;还有一个流控效果选项&#xff1a; 流控效果是指请求达到流控阈值时应该采取的措施&#xff0c;包括三种&…