mybatis mapper配置 bigint_玩转Spring Boot2.x 之 整合Mybatis篇
原文:https://zhuoqianmingyue.blog.csdn.net/article/details/83141118作者:桌前明月0、序言0.0、demo版本说明软件版本开发工具Spring Tool Suite (STS)jdk版本1.8.0_144springboot版本2.0.5.RELEASEmybatise start1.1.10.1、场景介绍通过mybaties官方网址:
原文:https://zhuoqianmingyue.blog.csdn.net/article/details/83141118作者:桌前明月
0、序言
0.0、demo版本说明
软件版本开发工具Spring Tool Suite (STS)jdk版本1.8.0_144springboot版本2.0.5.RELEASEmybatise start1.1.1
0.1、场景介绍
通过mybaties官方网址:
http://www.mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/
可以发现:
mybaties 为springboot 提供了2个版本的demo:
1、注解方式
2、xml方式
我们要先将github的代码拷贝下来 https://github.com/mybatis/spring-boot-starter
1、注解的方式
下图就是官方给的列子,无需添加任何配置就可以使用了。根据这个里子我们可以大致知道如何通过注解来进行定义查询方法。但是这个案例就一个查询方法 敢不敢在多写几个啊!你们也太懒了吧!
哎!我们还是去mybaties的官网继续寻找答案吧http://www.mybatis.org/mybatis-3/java-api.html
看完后有点想写点demo的冲动啊! come on !
这里我们开始自己写注解版的增删改查:
我们定义一个商品类: 包含的成员属性有 商品id、商品名称、商品价格、商品简介。
在开始之前千万别忘了在pom.xml中引入mybaties start依赖和mysql的依赖:
org.mybatis.spring.boot
mybatis-spring-boot-starter
1.1.1
mysql
mysql-connector-java
商品的实体类Product:
package cn.lijunkui.mybaties.domain;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Product {
private Long id;
private String productName;
private Double price;
private String productBrief;
}
添加数据库的表前需要我们定义数据库配置文件application.yml信息:
server:
servlet:
context-path: /learn
port: 8080
spring:
banner:
charset: UTF-8 # Banner file encoding.
#location: classpath:banner.txt # Banner text resource location.
image:
#location: classpath:banner.gif # Banner image file location (jpg or png can also be used).
width: 10 # Width of the banner image in chars.
height: 10 # Height of the banner image in chars (default based on image height).
margin: 2 # Left hand image margin in chars.
invert: false # Whether images should be inverted for dark terminal themes.
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/mybaties?useUnicode=true&characterEncoding=utf-8
username: root
password: root
测试建库建表sql:
/*
SQLyog Ultimate v9.62
MySQL - 5.5.27 : Database - mybaties
*********************************************************************
*/
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`mybaties` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `mybaties`;
/*Table structure for table `product` */
CREATE TABLE `product` (
`id` bigint(10) NOT NULL AUTO_INCREMENT COMMENT '商品id',
`product_Name` varchar(25) DEFAULT NULL COMMENT '商品名称',
`price` decimal(8,3) DEFAULT NULL COMMENT '价格',
`product_Brief` varchar(125) DEFAULT NULL COMMENT '商品简介',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
/*Data for the table `product` */
insert into `product`(`id`,`product_Name`,`price`,`product_Brief`) values (1,'苹果','20.000','好吃的苹果,红富士大苹果');
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
定义商品对应的dao层:
package cn.lijunkui.mybaties.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select;
import cn.lijunkui.mybaties.domain.Product;
@Mapper
public interface ProductMapper {
@Results(id="product" ,value= {
@Result(property = "id
更多推荐
所有评论(0)