模板——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>
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
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
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);
}
<?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>
浙公网安备 33010602011771号