springboot超详细教程_SpringBoot五步配置Mybatis超简教程

第一步:Maven里面添加mybatis的引用jar包:

org.mybatis.spring.boot

mybatis-spring-boot-starter

1.3.1

com.github.pagehelper

pagehelper-spring-boot-starter

1.2.3

mysql

mysql-connector-java

org.springframework

spring-tx

第二步:在application.properties文件里面添加如下代码

#配置mysql数据源

spring.datasource.url=jdbc:mysql://your-mysql-url/database-name?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true

spring.datasource.username=username

spring.datasource.password=password

spring.datasource.driverClassName=com.mysql.jdbc.Driver

#security.basic.enabled=false

mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

## Mybatis 配置

mybatis.type-aliases-package=com.xfind.core.entity.xianyu

mybatis.mapper-locations=classpath:mapper/*.xml

#使全局的映射器启用或禁用缓存。

mybatis.configuration.cache-enabled=true

#全局启用或禁用延迟加载。当禁用时,所有关联对象都会即时加载。

mybatis.configuration.lazy-loading-enabled=true

#当启用时,有延迟加载属性的对象在被调用时将会完全加载任意属性。否则,每种属性将会按需要加载。

mybatis.configuration.aggressive-lazy-loading=true

#是否允许单条sql 返回多个数据集 (取决于驱动的兼容性) default:true

mybatis.configuration.multiple-result-sets-enabled=true

#是否可以使用列的别名 (取决于驱动的兼容性) default:true

mybatis.configuration.use-column-label=true

#允许JDBC 生成主键。需要驱动器支持。如果设为了true,这个设置将强制使用被生成的主键,有一些驱动器不兼容不过仍然可以执行。 default:false

mybatis.configuration.use-generated-keys=true

#指定 MyBatis 如何自动映射 数据基表的列 NONE:不隐射\u3000PARTIAL:部分 FULL:全部

mybatis.configuration.auto-mapping-behavior=partial

#这是默认的执行类型 (SIMPLE: 简单; REUSE: 执行器可能重复使用prepared statements语句;BATCH: 执行器可以重复执行语句和批量更新)

mybatis.configuration.default-executor-type=simple

#使用驼峰命名法转换字段。

mybatis.configuration.map-underscore-to-camel-case=true

#设置本地缓存范围 session:就会有数据的共享 statement:语句范围 (这样就不会有数据的共享 ) defalut:session

mybatis.configuration.local-cache-scope=session

#设置但JDBC类型为空时,某些驱动程序 要指定值,default:OTHER,插入空值时不需要指定类型

mybatis.configuration.jdbc-type-for-null=null

#如果数据为空的字段,则该字段省略不显示,可以通过添加配置文件,规定查询数据为空是则返回null。

mybatis.configuration.call-setters-on-nulls=true

第三步:设置启动类:

//开启定时任务

//@EnableScheduling

@SpringBootApplication

@EnableTransactionManagement//开启事务管理

@MapperScan("com.xfind.core.mybatis")//与dao层的@Mapper二选一写上即可(主要作用是扫包)

public class StartUp {

public static void main(String[] args) {

SpringApplication.run(StartUp.class, args);

}

}

第四步:添加mapper文件和编写dao代码以及service和controller代码,

1、我是在core的modules里面的resources文件夹下新建mapper文件夹,下面保存所有数据库访问的sql。

2、新建实体类,我是在entity文件夹下创建的

2、在dao层下新建mapper里面的方法

3、在service层新建调用dao层类的逻辑代码

4、在controller层新建调用service层的逻辑代码

UserMapper.xml

/p>

PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

SELECT * from users

User.java

package com.xfind.core.entity.xianyu;

import com.fasterxml.jackson.annotation.JsonIgnore;

import java.util.Date;

/**

* Created by zhangwei on 2018/6/1.

*/

public class User {

private String id;

private String username;

private String phone;

private String email;

@JsonIgnore

private String password;

private String ip;

private String mac;

private int type;

private int delFlag;

private String memo;

private Date lastPasswordResetDate;

private Date lastLoginDate;

private int iosTest;

private Date createdDt;

private Date updatedDt;

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public String getUsername() {

return username;

}

public void setUsername(String username) {

this.username = username;

}

public String getPhone() {

return phone;

}

public void setPhone(String phone) {

this.phone = phone;

}

public String getEmail() {

return email;

}

public void setEmail(String email) {

this.email = email;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

public String getIp() {

return ip;

}

public void setIp(String ip) {

this.ip = ip;

}

public String getMac() {

return mac;

}

public void setMac(String mac) {

this.mac = mac;

}

public int getType() {

return type;

}

public void setType(int type) {

this.type = type;

}

public int getDelFlag() {

return delFlag;

}

public void setDelFlag(int delFlag) {

this.delFlag = delFlag;

}

public String getMemo() {

return memo;

}

public void setMemo(String memo) {

this.memo = memo;

}

public Date getLastPasswordResetDate() {

return lastPasswordResetDate;

}

public void setLastPasswordResetDate(Date lastPasswordResetDate) {

this.lastPasswordResetDate = lastPasswordResetDate;

}

public Date getLastLoginDate() {

return lastLoginDate;

}

public void setLastLoginDate(Date lastLoginDate) {

this.lastLoginDate = lastLoginDate;

}

public int getIosTest() {

return iosTest;

}

public void setIosTest(int iosTest) {

this.iosTest = iosTest;

}

public Date getCreatedDt() {

return createdDt;

}

public void setCreatedDt(Date createdDt) {

this.createdDt = createdDt;

}

public Date getUpdatedDt() {

return updatedDt;

}

public void setUpdatedDt(Date updatedDt) {

this.updatedDt = updatedDt;

}

}

UserDao.java

@Repository

public interface UserDao {

List findAllUser();

}

UserService.java

public interface XyUserService {

List selectUsers();

}

UserServiceImpl.java

@Service

public class XyUserServiceImpl implements XyUserService {

@Autowired

UserDao userDao;

@Override

public List selectUsers() {

return userDao.findAllUser();

}

}

UserController.java

@RestController

@RequestMapping("/xianyu")

public class UserController {

@Autowired

XyUserServiceImpl xyUserService;

@GetMapping("/user")

public ResponseEntity> getUsers(){

List users = xyUserService.selectUsers();

return ResponseEntity.ok(users);

}

}

第五步:访问试试是否已经设置成功并返回数据

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

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

相关文章

13.信号量临界区保护

【README】 1.本文内容总结自 B站 《操作系统-哈工大李治军老师》,内容非常棒,墙裂推荐; 2.操作系统使用信号量实现进程同步(合作),走走停停,推进多进程合理有序向前执行; 3.靠临…

Oracle入门(十二F)之表分区

转载自 oracle的 分表 详解 -----表分区一、分区表基础知识 (1) 表空间及分区表的概念表空间:是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间。分区表: 当表中的…

工作展望简短_新一年工作展望短句

1、愿所有人认真告别现实的2020,认真迎接希望的2021。2、新的一年快开始了,年底一总结,发现自己只收获了年龄。3、来年,有趣有盼,福气不减。4、新的一年,心情,生活都像烟花一样灿烂。5、待凛冬离…

关于《在Windows与.NET平台上的持续交付实践》的问答录

《在Windows与.NET平台上的持续交付实践》(Continuous Delivery with Windows and .Net)(免费下载)是由Matthew Skelton与Chris ODell所编著的一本简短的书籍。对于在Windows与.NET环境中工作的开发者而言,本书可以说是…

14.信号量的代码实现

【README】 1.本文内容总结自 B站 《操作系统-哈工大李治军老师》,内容非常棒,墙裂推荐; 2.信号量基础知识,refer2 posts below. 12.进程同步与信号量_PacosonSWJTU的博客-CSDN博客1.本文内容总结自 B站 《操作系统-哈工大李治…

Oracle入门(十二G1)修改序列(Sequence)起始值的方法

转载自 Oracle修改序列(Sequence)起始值的方法Oracle 序列(Sequence)主要用于生成流水号,在应用中经常会用到,特别是作为ID值,拿来做表主键使用较多。 但是,有时需要修改序列初始值&…

weex安装环境_WEEX跨平台开发环境搭建

一、Weex简介大约两年前,为了写一本Weex的入门书籍,我花了几个月的时间学习了下Weex跨平台相关的知识。Weex 是阿里前端技术团队开源的一套跨平台开发方案,能以Web的开发体验构建高性能、可扩展的 Native 应用。简单来说,在集成了…

C#中使用gRPC

由于有NuGet,使得C#在配置项目时非常简单。 1. 在NuGet中添加ProtocolBuffer和gRPC引用 protocol buffer 3.0版本,在NuGet插件界面选择Include Prerelease,查找google protocol buffer。如果不选择include rerelease,查找到的prot…

15.操作系统死锁处理

【README】 1.本文内容总结自 B站 《操作系统-哈工大李治军老师》,内容非常棒,墙裂推荐; 【19.1】死锁场景 1)死锁: 多个进程由于互相等待对方持有的资源而造成的谁也无法执行的情况; 1.1)死…

使用VS Code 开发.NET Core 应用程序 部署到Linux 跨平台

前面讲解了VSCode开发调试 .NET Core。都只是在windows下运行。 .NET Core真正的核心是跨平台,我们现在来了解学习 .NET Core 跨平台。 在windows 下开发.NET Core 应用程序,然后部署到Linux 平台运行。 .NET Core RC2版基本上已经完成。 https://githu…

centos 并发请求数_linux实现高并发请求工具

使用工具abCentOS6默认安装CentOS7需要手动安装contos7下:1、联网:yum install httpd-tools2、未联网(没试过):(1)进入cd /run/media/root/CentOS78664/Packages(路径跟centos6不同)(2)顺序安装apr-1.4.8-3.el7.86_64.rpmapr-util-1.5.2-6.el…

16.内存使用与分段

【README】 1.本文内容总结自 B站 《操作系统-哈工大李治军老师》,内容非常棒,墙裂推荐; 【1】 内存使用 【1.1】程序加载到内存 1)内存使用:将程序放到内存中,PC寄存器指向开始地址; 2&…

Oracle入门(十三)之SQL的DML

数据操纵语言(Data Manipulation Language, DML)是SQL语言中,负责对数据库对象运行数据访问工作的指令集,以INSERT、UPDATE、DELETE三种指令为核心,分别代表插入、更新与删除,是开发以数据为中心的应用程序…

.NET Core 跨平台发布(dotnet publish)

.NET Core 跨平台发布(dotnet publish) ,无需安装.NET Core SDK,就可以运行。 前面讲解了.NET Core 的VSCode 开发。现在来讲讲发布(dotnet publish)。 .NET Core and ASP.NET Core 1.0 RC2 runtime and libraries 在五月中旬发布。 .NET Core and ASP.N…

Oracle入门(十三A)之Select

一、数据查询语句 (1)select语句完整的句法select 目标表的列名或列表达式序列from 基本表名和(或)视图序列[ where 行条件表达式 ][ group by 列名序列[ having 组条件表达式 ] ][ order by 列名[ asc|desc ],… ] &a…

华为交换机ssh思科交换机_华为交换机 ssh 配置(极简版)

华为的 ssh 叫 STelnet(1)配置STelnet服务器功能及参数rsa local-key-pair create [1]stelnet server enable [2]undo ssh server keepalive disable [3][1] 创建密钥对,这个是必须的。可以选用 rsa dsa ecc 等加密算法,这里选择了最常用的rsa。输入命令…

17.内存分区与分页

【README】 1.本文内容总结自 B站 《操作系统-哈工大李治军老师》,内容非常棒,墙裂推荐; 2.程序使用内存的3个步骤: 步骤1:把程序分为多个段,包括代码段,数据段;这是编译要做的事…

漫谈C#编程语言在游戏领域的应用

0x00 前言 随着微软越来越开放,C#也变得越来越吸引人们的眼球。而在游戏行业中,C#也开始慢慢地获得了关注。这不, 网易绝代双娇手游团队已经全面使用.Net Core支持前后端统一C#开发,跨平台部署了。 所以,我们就来总结一…

dex工具与transform_Android Studio打包程序时出现transformClassesWithDexForRelease错误

百度半天.没找到直接原因..国外网站上有写这个错误的..国内的真心没找到..英语水平有太低..实在没看懂怎么搞..后来发现clean项目的时候是提示如下错误:Information:Gradle tasks [clean, :app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:mockableAndr…

18.多级页表与快表

【README】 1.本文内容总结自 B站 《操作系统-哈工大李治军老师》,内容非常棒,墙裂推荐; 2.操作系统内存管理:分页机制多级页表快表来实现; 【0】分页的问题 1)分页的问题(大页表&#xff09…