Mybatis入门 使用注解

使用XML方式地址为Mybatis入门 使用XML

1、目录结构

在这里插入图片描述

2、需要修改的地方

1、mybatis的配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<!--mybatis的主配主文件-->
<configuration>
<!--配置环境-->
<environments default="mysql"><!--配置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://localhost:3306/eesy_mybatis"></property><property name="username" value="root"></property><property name="password" value="123456"></property></dataSource></environment>
</environments><!--指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件--><!--如果是用注解来配置的话,此处应该使用class属性指定被注解的dao 全限定类名--><mappers><!--<mapper resource="com/itheima/dao/IUserDao.xml"/>  xml--><mapper class="com.itheima.dao.IUserDao"/></mappers>
</configuration>
2、Dao中添加注解
package com.itheima.dao;import com.itheima.domain.User;
import org.apache.ibatis.annotations.Select;import java.util.List;/*** Created by Administrator on 2019/10/11.* 用户持久层接口*/
public interface IUserDao {/*** 查询所有操作* @return*/@Select("select * from user")List<User>  findAll();
}

注意

改动的地方为,删除掉之前的IuserDao.xml文件,在Dao方法上添加注解@select 和SQL语句"select * from user"
使用注解方式,大大加快了开发效率。
为了对比,贴出使用XML时的配置文件

<?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.itheima.dao.IUserDao">
<!--查询所有-->
<select id="findAll" resultType="com.itheima.domain.User">SELECT * FROM user;
</select>
</mapper>

使用注解,不需要设置namespace,以及设置select的ID,不需要设置resultType,结果映射集。

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

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

相关文章

浅析如何在Nancy中生成API文档

前言 前后端分离&#xff0c;或许是现如今最为流行开发方式&#xff0c;包括UWP、Android和IOS这样的手机客户端都是需要调用后台的API来进行数据的交互。 但是这样对前端开发和APP开发就会面临这样一个问题&#xff1a;如何知道每个API做什么&#xff1f; 可能&#xff0c;…

bootstrap样式

一、目前比较主流的前端框架有&#xff1a; 1.layui 2.vue.js 3.bootstrap 4.jquery ui 二、bootstrap&#xff1a; 1.来自Twitter,目前最流行的前端框架之一 2.是基于HTML、CSS和JavaScript的一个简洁、灵活的开源框架。 3.目前版本是V3 三、bootstrap的优势&#xff1a; 1.快…

JS中的this指向问题

this&#xff08;上下文对象&#xff09; 我们每次调用函数时&#xff0c;解析器都会将一个上下文对象作为隐含的参数传递进函数。 使用this来引用上下文对象&#xff0c;根据函数的调用形式不同&#xff0c;this的值也不同。 指向当前对象 this的不同的情况&#xff1a; 1.…

一文告诉你如何导出 Git 变更文件

转载自 一文告诉你如何导出 Git 变更文件 有时候我们想导出某次版本提交时有哪些变更的文件&#xff0c;在 svn 中有一个 export 功能&#xff0c;很方便&#xff0c;如下图所示。 在 Git 中我也找到了以下两种方法。 方法1 使用 git 自带命令 git archive, 语法如下。 g…

模糊查询

模糊查询是针对字符串操作的&#xff0c;类似正则表达式&#xff0c;没有正则表达式强大通配符&#xff1a;_ 、% 、[] 、_ 表示任意的单个字符--查询MyStudent表中任意姓张&#xff0c;名字两个字的姓名 select * from MyStudent where fname like 张_ --查询MyStudent表中任意…

Entity Framework Core的贴心:优雅处理带默认值的数据库字段

对于用于保存记录添加时间的数据库日期字段&#xff0c;我们通常会设置一个 GETDATE() 的默认值&#xff0c;而不是在应用程序的代码中获取当前时间进行保存&#xff0c;这样可以避免由于web服务器时钟不同步引起的时间偏差。 Entity Framework Core 在设计时贴心地考虑到这个…

bootstrap组件

一、Bootstrap常用的组件&#xff1a; icon图标&#xff0c;下拉菜单&#xff0c;导航&#xff0c;导航条&#xff0c;输入框&#xff0c;缩略图&#xff0c;媒体对象&#xff0c;列表组&#xff0c;分页导航。 二、小图标&#xff1a; 1.bootstrap中内置提供了250多种小图标。…

JS中使用工厂模式创建对象

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body> <script>function createPerson(name , age ,gender){//创建一个新的对象var obj new Object…

深度历险:Redis 内存模型详解

转载自 深度历险&#xff1a;Redis 内存模型详解 Redis 是目前最火爆的内存数据库之一&#xff0c;通过在内存中读写数据&#xff0c;大大提高了读写速度&#xff0c;可以说 Redis 是实现网站高并发不可或缺的一部分。 我们使用 Redis 时&#xff0c;会接触 Redis 的 5 种对…

count does not exist. Check the 'Function Name Parsing and Resolution' section in the Reference Manu

mybatis 查询用户总个数时 报错 org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: FUNCTION eesy_mybatis.count does not exist. Check the Function Name Parsing a…

.NET的一点历史故事:误入歧途,越陷越深

移动计算的时代其实早已有了苗头&#xff0c;起码微软的 Windows CE、诺基亚的 Symbian 都曾经给手机用户多少带来了一些便利&#xff0c;黑莓则由于接入了企业邮件等商业应用而日进斗金&#xff0c;甚至 Sun 也给自己的 Java 平台做了一个 J2ME 标准&#xff0c;试图用 J2EE 那…

bootstrap样式代码案例

运行结果如下所示&#xff1a; 代码如下所示&#xff1a; <!DOCTYPE html> <html><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width,user-scalableno,initial-scale1.0,maximum-scale1.0,mi…

JS中用构造函数创建对象

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body> <script>/* 构造函数的执行流程&#xff1a;* 1.立刻创建一个新的对象* 2.将新建的对象设置…

史上最全阿里 Java 面试题总结

转载自 史上最全阿里 Java 面试题总结 以下为大家整理了阿里巴巴史上最全的 Java 面试题&#xff0c;涉及大量 Java 面试知识点和相关试题。 JAVA基础 JAVA中的几种基本数据类型是什么&#xff0c;各自占用多少字节。 String类能被继承吗&#xff0c;为什么。 String&#…

SELECT * FROM user WHERE username LIKE #{aaa}与SELECT * FROM user WHERE username LIKE '%${value}%'

在Mybatis中模糊查询like有两种写法&#xff1a; 第一种为SELECT * FROM user WHERE username LIKE #{aaa} 另一种SELECT * FROM user WHERE username LIKE ‘%${value}%’ LIKE #{aaa}执行的SQL为&#xff1a; 使用的是&#xff1f;占位符&#xff1a;对用的是preparedStatem…

bootstrap组件的案例代码

运行结果如图所示&#xff1a; 代码如下所示&#xff1a; <!DOCTYPE html> <html><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width,user-scalableno,initial-scale1.0,maximum-scale1.0,mi…

了解 C# foreach 内部语句和使用 yield 实现的自定义迭代器

在本期专栏中&#xff0c;我将介绍我们在编程时经常用到的 C# 核心构造&#xff08;即 foreach 语句&#xff09;的内部工作原理。了解 foreach 内部行为后&#xff0c;便可以探索如何使用 yield 语句实现 foreach 集合接口&#xff0c;我将对此进行介绍。 虽然 foreach 语句编…

JS中的原型

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title><script type"text/javascript">/** 原型 prototype* * 我们所创建的每一个函数&#xff0c;解析器都会向函数中添加一个属性prototype* …

扫盲,为什么分布式一定要有Redis?

转载自 扫盲&#xff0c;为什么分布式一定要有Redis? 考虑到绝大部分写业务的程序员&#xff0c;在实际开发中使用 Redis 的时候&#xff0c;只会 Set Value 和 Get Value 两个操作&#xff0c;对 Redis 整体缺乏一个认知。所以我斗胆以 Redis 为题材&#xff0c;对 Redis …

Mybatis insert操作细节【ID】

默认情况下映射文件中插入数据&#xff1a; <insert id"saveUser" parameterType"com.itheima.domain.User">INSERT INTO user (username,address,sex,birthday) VALUES (#{username},#{address},#{sex},#{birthday})</insert>单元测试 Testp…