SpringBoot整合Mybatis的知识点汇总
作者:糖不甜,盐不咸 发布时间:2023-11-15 21:56:06
标签:SpringBoot,Mybatis
springboots使用的版本是2.0.1,注意不同版本可能有差异,并不一定通用
添加Mybatis的起步依赖:
<!--mybatis起步依赖-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
添加数据库驱动坐标:
<!-- MySQL连接驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
添加数据库连接信息:
在application.properties中添加数据量的连接信息
# 数据库连接信息
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=root
创建user表:
在test数据库中创建user表
-- ----------------------------
-- Table structure for `user`
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(50) DEFAULT NULL,
`password` varchar(50) DEFAULT NULL,
`name` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES ('1', 'zhangsan', '123', '张三');
INSERT INTO `user` VALUES ('2', 'lisi', '123', '李四');
创建实体Bean:
public class User {
// 主键
private Long id;
// 用户名
private String username;
// 密码
private String password;
// 姓名
private String name;
//此处省略getter和setter方法 .. ..
}
编写Mapper:
@Mapper
public interface UserMapper {
public List<User> queryUserList();
}
注意:@Mapper标记该类是一个mybatis的mapper接口,可以被spring boot自动扫描到spring上下文中
配置Mapper映射文件:
在src\main\resources\mapper路径下加入UserMapper.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="com.fgy.mapper.UserMapper">
<select id="queryUserList" resultType="user">
select * from user
</select>
</mapper>
在application.properties中添加mybatis的信息:
#spring集成Mybatis环境
#pojo别名扫描包
mybatis.type-aliases-package=com.fgy.domain
#加载Mybatis映射文件
mybatis.mapper-locations=classpath:mapper/*Mapper.xml
编写测试Controller(因为是演示效果,省略了业务层):
@Controller
public class MapperController {
@Autowired
private UserMapper userMapper;
@RequestMapping("/queryUser")
@ResponseBody
public List<User> queryUser(){
List<User> users = userMapper.queryUserList();
return users;
}
}
如果是基于注解开发持久层:
在application.properties中去掉 mybatis.mapper-locations=classpath:mapper/*Mapper.xml
在启动主类添加扫描器 @MapperScan("com.fgy.mapper")
在持久层方法上添加SQL语句 @Select("select * from user")
来源:https://www.cnblogs.com/roadlandscape/p/12370113.html
0
投稿
猜你喜欢
- @EqualsAndHashCode注解@EqualsAndHashCode注解的作用就是自动实现model类的equals方法和hashc
- 常量池中各数据项类型详解(续)(8) CONSTANT_Class_info常量池中的一个CONSTANT_Class_info,
- Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率. 从结构上看,所有的数据(data)最终都可以分解成三种类型: 第
- 要求:如下图,使用线程操作 1、实时显示当前时间 2、输入加数和被加数,自动出现结果 分析:两个问题解决的方式一致,使用子线程进
- 目录RemoveSubstringReplaceSpiltJoinAppendRemoveRemove(int startIndex) 删除
- rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统。它遵循Mozilla Public License开源协议,采用
- 1、Spring Boot跨域配置有两种方法在后端使用Spring Boot。Spring Boot跨域非常简单,只需书写以下代码即可。@C
- CircleImageView实现圆形头像代码分享,供大家参考,具体内容如下一、创建属性文件(attrs.xml)具体操作:1、在项目的va
- 开发过程, 我们习惯把数据源配置, 项目常量, 日志配置等基础数据配置写到一个个单独的的文件中. 如jdbc.properties等各种.格
- 去除XSS字符串需要借助工具类 jsoup ,这里jsoup有一点需要注意的是,jsoup的功能可能有点太强大了,能把xss攻击的内容直接过
- 本文实例为大家分享了C++实现图书馆管理系统的具体代码,供大家参考,具体内容如下总体思想用C++开发图书馆管理系统需要对学生和图书分别建立c
- 目录前言1、什么是Filter2、过滤器实现拦截过程3、过滤器与 * 的不同之处1.过滤器:2. * :3.两者的区别:4、使用Filter
- 本文讲述了Java开发人员需知的十大戒律。分享给大家供大家参考,具体如下:作为一个Java开发人员提高自己代码的质量,可维护性,是个恒久不变
- 具体详情如下所示:int -> Stringint i=12345;String s="";第一种方法:s=i+&
- 在c++当中,标准类型string来代表可变长的字符串序列,使用string需要加载string 头文件,而方法定义在命名空间std当中,所
- 值传递当调用方法进行值传递时,方法内部会产生一个局部变量,在方法内部使用局部变量的值,并不影响传入原来数据的值,包括在使用基本数据类型的包装
- 前言日常的Android开发中,我们会用到IntentFilter的匹配规则。IntentFilter的主要规则分为action、categ
- 一、让中央控制器动态加载存储子控制器上期回顾,我们说明了自定义MVC工作原理,其中,中央控制器起到了接收浏览器请求,找到对应的处理人的一个作
- 前言痛点:在java开发的过程中,我们经常要面对各种各样的环境,比如开发环境,测试环境,正式环境,而这些环境对项目的需求也不相同。在此之前,
- 本文实例为大家分享了android音乐播放器的具体代码,供大家参考,具体内容如下话不多说先上效果前言写这个音乐播放器实在是迫不得已。因为我们