极简的MyBatis在Spring Boot下的配置

以我的一个项目为例。

0、项目结构:

1、POM中添加MyBatis的依赖:

<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.3.1</version>
</dependency>

2、配置application.properties:

mybatis.mapper-locations=classpath:mapper/*.xml
#mybatis.type-aliases-package=com.julion.onlinestudy.domain

好吧,配置已经结束了。

接下来是一个小测试。

0、Bean文件:

  1 package com.julion.onlinestudy.domain;
  2 
  3 import com.fasterxml.jackson.annotation.JsonFormat;
  4 
  5 import java.util.Date;
  6 
  7 public class Student {
  8     private Integer id;
  9 
 10     private String username;
 11 
 12     private String password;
 13 
 14     private String name;
 15 
 16     private String gender;
 17 
 18     private String studentNo;
 19 
 20     private String grade;
 21 
 22     private String major;
 23 
 24     private Date createTime;
 25 
 26     private Date lastEditTime;
 27 
 28     public Integer getId() {
 29         return id;
 30     }
 31 
 32     public void setId(Integer id) {
 33         this.id = id;
 34     }
 35 
 36     public String getUsername() {
 37         return username;
 38     }
 39 
 40     public void setUsername(String username) {
 41         this.username = username == null ? null : username.trim();
 42     }
 43 
 44     public String getPassword() {
 45         return password;
 46     }
 47 
 48     public void setPassword(String password) {
 49         this.password = password == null ? null : password.trim();
 50     }
 51 
 52     public String getName() {
 53         return name;
 54     }
 55 
 56     public void setName(String name) {
 57         this.name = name == null ? null : name.trim();
 58     }
 59 
 60     public String getGender() {
 61         return gender;
 62     }
 63 
 64     public void setGender(String gender) {
 65         this.gender = gender == null ? null : gender.trim();
 66     }
 67 
 68     public String getStudentNo() {
 69         return studentNo;
 70     }
 71 
 72     public void setStudentNo(String studentNo) {
 73         this.studentNo = studentNo == null ? null : studentNo.trim();
 74     }
 75 
 76     public String getGrade() {
 77         return grade;
 78     }
 79 
 80     public void setGrade(String grade) {
 81         this.grade = grade == null ? null : grade.trim();
 82     }
 83 
 84     public String getMajor() {
 85         return major;
 86     }
 87 
 88     public void setMajor(String major) {
 89         this.major = major == null ? null : major.trim();
 90     }
 91 
 92     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 93     public Date getCreateTime() {
 94         return createTime;
 95     }
 96 
 97     public void setCreateTime(Date createTime) {
 98         this.createTime = createTime;
 99     }
100 
101     @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
102     public Date getLastEditTime() {
103         return lastEditTime;
104     }
105 
106     public void setLastEditTime(Date lastEditTime) {
107         this.lastEditTime = lastEditTime;
108     }
109 }

1、Mapper XML文件:

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
 3 <mapper namespace="com.julion.onlinestudy.mapper.StudentMapper" >
 4   <resultMap id="BaseResultMap" type="com.julion.onlinestudy.domain.Student" >
 5     <id column="id" property="id" jdbcType="INTEGER" />
 6     <result column="username" property="username" jdbcType="VARCHAR" />
 7     <result column="password" property="password" jdbcType="VARCHAR" />
 8     <result column="name" property="name" jdbcType="VARCHAR" />
 9     <result column="gender" property="gender" jdbcType="CHAR" />
10     <result column="student_no" property="studentNo" jdbcType="VARCHAR" />
11     <result column="grade" property="grade" jdbcType="VARCHAR" />
12     <result column="major" property="major" jdbcType="VARCHAR" />
13     <result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
14     <result column="last_edit_time" property="lastEditTime" jdbcType="TIMESTAMP" />
15   </resultMap>
16 
17   <sql id="Base_Column_List" >
18     id, username, password, name, gender, student_no, grade, major, create_time, last_edit_time
19   </sql>
20 
21   <select id="getOneById" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
22     select 
23     <include refid="Base_Column_List" />
24     from student
25     where id = #{id,jdbcType=INTEGER}
26   </select>
27 
28 </mapper>

 

2、Mapper文件:

 1 package com.julion.onlinestudy.mapper;
 2 
 3 import com.julion.onlinestudy.domain.Student;
 4 import org.apache.ibatis.annotations.Mapper;
 5 
 6 import java.util.List;
 7 import java.util.Map;
 8 
 9 @Mapper
10 public interface StudentMapper {
11 
12     Student getOneById(Integer id);
13 
14 }

3、Service文件:

package com.julion.onlinestudy.service;import com.julion.onlinestudy.domain.Student;import java.util.List;
import java.util.Map;public interface StudentService {Student getOneById(Integer id);}

4、Controller文件:

 1 package com.julion.onlinestudy.controller;
 2 
 3 import com.julion.onlinestudy.common.BaseResponse;
 4 import com.julion.onlinestudy.domain.Student;
 5 import com.julion.onlinestudy.enums.StatusCode;
 6 import com.julion.onlinestudy.service.StudentService;
 7 import org.slf4j.Logger;
 8 import org.slf4j.LoggerFactory;
 9 import org.springframework.beans.factory.annotation.Autowired;
10 import org.springframework.web.bind.annotation.*;
11 
12 import java.util.HashMap;
13 import java.util.List;
14 
15 @RestController
16 @RequestMapping("/student")
17 public class StudentController {
18 
19     private Logger logger = LoggerFactory.getLogger(this.getClass());
20 
21     @Autowired
22     private StudentService service;
23 
24     @GetMapping(value = "/one/{id}", produces = "application/json;charset=utf-8")
25     @ResponseBody
26     public Student getOneStudent(@PathVariable Integer id) {
27         logger.info("Controller--获取单个学生信息---Start");
28         Student student = service.getOneById(id);
29         logger.info("Controller--获取单个学生信息---End");
30         return student;
31     }
32 
33 }

5、测试结果:

 

转载于:https://www.cnblogs.com/tianwen1993/p/8044661.html

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

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

相关文章

JPA –我应该成为懒惰的极端主义者吗?

当您与开发人员讨论将对象映射到关系数据库时&#xff0c;他们经常抱怨JPA性能差&#xff0c;JPA提供程序的行为不可预测等。通常&#xff0c;在对话的某些时候&#xff0c;您会听到&#xff1a; “让我们完全放弃这项技术&#xff0c;我们在上个月的会议上看到了更好的东西。 …

mysql恢复 报错_Mysql 数据恢复报错

1.测试mysql binlog 数据恢复功能&#xff0c;我的mysql版本是5.7.172.删了数据之后&#xff0c;执行show binlog events 命令得到如下记录3.找到开始删除和结束删除的位置&#xff0c;然后执行恢复命令:mysqlbinlog --no-defaults --start-position8991 --stop-position290468…

IONIC

1.项目摘要  随着移动互联网的不断发展&#xff0c;移动端流量所占比例已经越来越高。下图来自IResearch所做的关于移动互联网的市场调研报告 由此我们可以看出&#xff0c;移动互联网在人们生活中的位置越来越重要。 受益于国家“提速降费”以及即将取消流量漫游的优惠政策&…

line-height与图片底部间隙的学习整理转述

前言&#xff1a;这是笔者学习之后自己的理解与整理。如果有错误或者疑问的地方&#xff0c;请大家指正&#xff0c;我会持续更新&#xff01; 看大牛张鑫旭的视屏可能会理解的更深一些&#xff0c;点击这里&#xff1b; line-height&#xff0c;两行文字的基线之间的距离&…

分数DRL:在OptaPlanner中更快,更轻松

对于OptaPlanner &#xff08; Drools Planner&#xff09;6.0.0.Beta1&#xff0c;我已经用更优雅的ConstraintMatch系统替换了ConstraintOccurrence。 结果是您的DRL评分文件为&#xff1a; 快多了 更容易读写 错误的发生率要低得多&#xff0c;因为它们使分数损坏变得更加…

STM32 环境搭建

从之前的51&#xff0c;到后来的AVR&#xff0c;再到现在的STM32&#xff0c;处理器的处理能力在不断的提高&#xff0c;我们也跟随着处理器一步一步的玩到了STM32 目前STM32的开发环境很多&#xff0c;常用的例如Keil&#xff0c;IAR等&#xff0c;但是这些软件都是收费的&…

mysql数据库工程师网易微专业_网易MySQL数据库工程师微专业学习笔记(五)

一、mysql数据库中的存储引擎mysql在创建数据表时可以通过engine关键字设置存储引擎的类型&#xff0c;也可以通过alter命令来修改表的存储引擎。可以通过show engines命令来查看当前mysql数据库支持的存储引擎的类型&#xff0c;一般场景的存储引擎有&#xff1a;InnoDB、MyIS…

Java并发编程笔记之ConcurrentLinkedQueue源码探究

JDK 中基于链表的非阻塞无界队列 ConcurrentLinkedQueue 原理剖析&#xff0c;ConcurrentLinkedQueue 内部是如何使用 CAS 非阻塞算法来保证多线程下入队出队操作的线程安全&#xff1f; ConcurrentLinkedQueue是线程安全的无界非阻塞队列&#xff0c;其底层数据结构是使用单向…

border三角形阴影(不规则图形阴影)和多重边框的制作

前言&#xff1a;这是笔者学习之后自己的理解与整理。如果有错误或者疑问的地方&#xff0c;请大家指正&#xff0c;我会持续更新&#xff01; 1. border的组合写法 border&#xff1a;border-width border-style border-color; border-width&#xff1a;边框宽度&#xff0…

JDK 8 Javadoc调整了方法列表

自开始以来&#xff0c; Javadoc输出基本上是静态HTML&#xff0c;具有导航链接和外观的简单样式表样式。 Java SE 7很长时间以来就看到Javadoc输出默认外观的第一个重大变化 &#xff0c;现在看来JDK 8将在生成的Javadoc输出上引入新的变化。 在本文中&#xff0c;我将通过JDK…

angularJS constant和value

angularJS可以通过constant(name,value)和value(name,value)对于创建服务也是很重要的。 相同点是&#xff1a;都可以接受两个参数&#xff0c;name和value。 区别&#xff1a; 1.constant(name,value)可以将一个已经存在的变量值注册为服务&#xff0c;并将其注入到应用的其他…

将JacpFX客户端与JSR 356 WebSockets一起使用

JSR 356 WebSockets是即将发布的JEE 7版本中令人兴奋的新功能之一&#xff0c;并且在其参考实现中包括Server-和Client API。 这使其非常适合在客户端与JavaFX集成。 JacpFX是JavaFX之上的RCP框架&#xff0c;它使用基于消息的方法与组件进行交互。 这种基于消息的方法使集成We…

《精通Spring4.X企业应用开发实战》读后感第七章(AOP概念)

转载于:https://www.cnblogs.com/Michael2397/p/8068486.html

Material使用04 MdCardModule和MdButtonModule综合运用

设计需求&#xff1a;设计一个登陆页面 1 模块导入 1.1 将MdCardModule和MdButtonModule模块导入到共享模块中 import { NgModule } from angular/core; import { CommonModule } from angular/common; import { MdSidenavModule, MdToolbarModule,MdIconModule,MdButtonModule…

python实现bp神经网络对csv文件进行数据预测

参考资源&#xff1a; sklearn库 bp神经网络[从原理到代码一篇搞定]&#xff08;2&#xff09;_sklearn 神经网络-CSDN博客 十分钟上手sklearn&#xff1a;安装&#xff0c;获取数据&#xff0c;数据预处理 - 知乎 (zhihu.com) 一个实例讲解如何使用BP神经网络(附代码) - 知…

Spring MVC:表单处理卷。 4 –单选按钮

在软件开发领域&#xff0c;单选按钮是图形用户界面的重要组成部分。 Spring MVC标签库为此表单元素提供了特殊标签。 更确切地说&#xff0c;有两个标签用于此目的&#xff1a;单选按钮&#xff0c;单选按钮。 两者对于特定任务都是有用的。 如您所知&#xff0c;我将在帖子中…

点击时候确定某个元素 js_某空气质量监测平台 JS反爬

目标&#xff1a;中国空气质量在线监测分析平台|城市分析 参考CSDN中文章&#xff0c;记录一下学习过程通过切换城市&#xff0c;页面数据是通过 Ajax 加载的&#xff0c;数据接口&#xff1a;https://www.aqistudy.cn/apinew/aqistudyapi.php请求的POST Data、返回的数据都被加…

HTML 部分常用属性、组成属性|...超链接、路径、锚点、列表、滚动、URL编码、表格、表单、GET和POST

URL地址 就是我们所说的网址&#xff1a;www.jd.com 浏览器内核&#xff0c;渲染引擎 Ie内核&#xff1a;triteent 谷歌/欧鹏&#xff1a;blink 火狐&#xff1a;gecko 苹果&#xff1a;webkit 渲染引擎是出现兼容性的根本问题 -html概念:hyper Text Markup Languag…

Spring @Value取值为null或@Autowired注入失败

Value 用于注入.properties文件中定义的内容 Autowired 用于装配bean 用法都很简单&#xff0c;很直接&#xff0c;但是稍不注意就会出错。下面就来说说我遇到的问题。 前两天在项目中遇到了一个问题&#xff0c;大致描述就是我写了如下一个类&#xff08;只列出关键代码&#…

mysql 部门表_MySQL高级

本文大纲环境win10-64MySQL Community Server 5.7.1mysqld –version可查看版本官方文档SQL执行顺序手写顺序我们可以将手写SQL时遵循的格式归结如下&#xff1a;select distinct from join on wheregroup byhavingorder bylimit <offset>,<rows>distinct&…