模板——springboot的Mybatis、Druid

1️⃣依赖

 <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️⃣配置

 

# 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

 

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层

 

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

 

<?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

 

posted on 2021-07-18 14:11  汤姆猫8  阅读(60)  评论(0)    收藏  举报