模板——springboot的Mybatis、Druid


1️⃣依赖


模板——springboot的Mybatis、Druid_复用模板——springboot的Mybatis、Druid_java_02


<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.21</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>

pom.xml

2️⃣配置

 


模板——springboot的Mybatis、Druid_spring_03模板——springboot的Mybatis、Druid_mysql_04


# Tomcat
server:
tomcat:
uri-encoding: UTF-8
max-threads: 1000
min-spare-threads: 30
port: 8080
max-http-header-size: 10000000

# mysql
spring:
profiles:
active: dev #激活application-dev.yml文件
jackson:
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss
# 模板实时刷新
thymeleaf:
cache: false
prefix:
classpath: /templates
servlet:
multipart:
location: images/
resources:
static-locations: classpath:static/,file:${spring.servlet.multipart.location}

# Mybatis配置
mybatis:
mapperLocations: classpath:mapper/**/*.xml
#开启驼峰命名转换
configuration:
map-underscore-to-camel-case: true
#mybatis日志
#mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
logging:
level:
com.typ.blog.mapper: trace

application.yml

 


模板——springboot的Mybatis、Druid_xml_05模板——springboot的Mybatis、Druid_xml_06


spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/animal?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8
username: root
password: root
#连接池的配置信息
initialSize: 10
minIdle: 10
maxActive: 100
maxWait: 60000
timeBetweenEvictionRunsMillis: 300000
minEvictableIdleTimeMillis: 3600000
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
poolPreparedStatements: true
maxPoolPreparedStatementPerConnectionSize: 20

application-dev.yml

3️⃣mapper层

 


模板——springboot的Mybatis、Druid_xml_07模板——springboot的Mybatis、Druid_java_08


package com.xp.shop.mapper;

import com.xp.shop.enity.Pet;
import org.apache.ibatis.annotations.*;

import java.util.List;

@Mapper
public interface PetMapper {

@Select("select id,name,sex,age,color,type,host from pet ")
List<Pet> findAll();

@Select("select id,name,sex,age,color,type,host from pet where id=#{id}")
Pet findById(Integer id);

@Insert("insert into pet(id,name,sex,age,color,type,host) "
+"values(#{id},#{name},#{sex},#{age},#{color},#{type},#{host})")
// @Options(useGeneratedKeys = true,keyProperty = "id")//设置id不自增。
Integer add(Pet pet);

@Update("update pet set name=#{name},sex=#{sex},age=#{age},"+
"color=#{color},type=#{type},host=#{host} where id=#{id}")
int upda(Pet pet);

/*
数据库删除(删除语句中的from不能去掉)
*/
@Delete("delete from pet where name=#{name}")
int delByName(String name);
}

注解方式crud

 


模板——springboot的Mybatis、Druid_java_09模板——springboot的Mybatis、Druid_mysql_10


<?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.example.shixun.mapper.UserMapper">
<!-- 封装复用 -->
<!--column数据库中的字段,property实体类中的属性,此处是直接type,按顺序对应-->
<resultMap id="BaseResultMap" type="com.example.shixun.entity.User">
<constructor>
<idArg column="user_id" javaType="java.lang.Integer" jdbcType="INTEGER" />
<arg column="user_tel" javaType="java.lang.String" jdbcType="VARCHAR" />
<arg column="user_pwd" javaType="java.lang.String" jdbcType="VARCHAR" />
<arg column="user_name" javaType="java.lang.String" jdbcType="VARCHAR" />
<arg column="user_sex" javaType="java.lang.String" jdbcType="VARCHAR" />
<arg column="user_age" javaType="java.lang.String" jdbcType="VARCHAR" />
<arg column="user_degrees" javaType="java.lang.String" jdbcType="VARCHAR" />
<arg column="user_experience" javaType="java.lang.String" jdbcType="VARCHAR" />
<arg column="user_phone" javaType="java.lang.String" jdbcType="VARCHAR" />
</constructor>
</resultMap>
<!-- 封装复用 -->
<sql id="Base_Column_List">
user_id, user_tel, user_pwd, user_name, user_sex, user_age, user_degrees, user_experience,
user_phone
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from user_table
where user_id = #{userId,jdbcType=INTEGER}
</select>
</mapper>

xml方式crud

 


​ ​汤姆猫