极简的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,一经查实,立即删除!

相关文章

mysql sum很慢,可以在MySQL中加快sum()吗?

Im doing a "select sum(foo) from bar" query on a MySQL database thats summing up 7.3mm records and taking about 22 seconds per run. Is there a trick to speeding up sums in MySQL?解决方案No, you cant speed up the function itself. The problem here…

css常用属性总结:颜色和单位

在css代码编写中&#xff0c;估计颜色和单位是必不可少的&#xff0c;然而在css中关于颜色和单位值的写法有很多种写法&#xff0c;所以有必要把它弄清楚。 颜色 当初我在初学前端的时候&#xff0c;就会冒出一个疑问“我该如何设置网页颜色&#xff1f;”&#xff0c;一般常…

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;两行文字的基线之间的距离&…

java学习之异常之格式

第一个格式&#xff1a; try{}catch(){} 第二个格式&#xff1a; try{}catch(){}finally{} 第三个格式&#xff1a; try{}finally{} 注意&#xff1a;catch是用于处理异常&#xff0c;如果没有catch就代表异常没有被处理过&#xff0c;如果该异常是检测时异常&#xff0c;那么必…

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

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

mysql 的数据库实例理解_理解数据库和实例

数据库&#xff1a;物理操作系统文件或者其他形式文件类型的集合。在mysql中&#xff0c;数据库文件可以是frm、MYD、MYI、ibd等结尾的文件。当使用NDB引擎时&#xff0c;数据库的文件可能不是操作系统文件&#xff0c;而是存放于内存之中的文件。实例&#xff1a;mysql数据库由…

STM32 环境搭建

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

css常用属性初总结:伪元素和伪元素

前面几遍中我们分别说到了id选择器和class选择器&#xff0c;以及它们的区别和联系&#xff0c;下面大家一起来探究一下神奇的为类和伪元素吧。 其实以前我对伪类和伪元素也是搞得稀里糊涂的&#xff0c;现在决定剥开它神秘的外衣&#xff0c;首先&#xff0c;究竟什么是伪类&…

Java 8:CompletableFuture的权威指南

Java 8即将到来&#xff0c;因此该学习新功能了。 尽管Java 7和Java 6只是次要的发行版&#xff0c;但版本8将向前迈出一大步。 也许太大了&#xff1f; 今天&#xff0c;我将为您详细介绍JDK 8中的新抽象– CompletableFuture<T> 。 众所周知&#xff0c;Java 8有望在不…

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

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

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

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

03 Day Python数据类型

一&#xff1a;什么是数据&#xff1f; x10&#xff0c;10是我们要存储的数据 2 为何数据要分不同的类型 数据是用来表示状态的&#xff0c;不同的状态就应该用不同的类型的数据去表示 3 数据类型 数字 字符串 列表 元组 字典 集合 二&#xff1a;数字int #bit_length() 当十进…

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…

hdp安装 不安装mysql_hdp安装及使用问题汇总(一)

1)安装HDP时&#xff0c;如果打印如下错误信息&#xff1a;[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:579)是由于系统的python版本过高&#xff0c;导致验证ssl失败&#xff0c;将python降级为2.7.5以下或修改每个安装节点的python证书验证配置文件…

PhotoSphereViewer 全景图

1网站地址&#xff1a;http://photo-sphere-viewer.js.org/markers.html#demo 2参数中文地址&#xff1a;https://www.cnblogs.com/big-tree/p/5933437.html 使用方法&#xff1a; /*** Initialize the viewer*/ var PSV new PhotoSphereViewer({ // main configuration panor…

常用Lunix命令

计算机 1.硬件系统 输入单元、输出单元、算术逻辑单元、控制单元、记忆单元 中央处理单元&#xff1a;CPU&#xff08;算术逻辑单元、控制单元&#xff09; 电源、主板、CPU、内存&#xff08;RAM&#xff09;、硬盘、&#xff08;声卡、显卡、网卡&#xff09;&#xff08;集成…