mapper.xml:
<?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.wanli.dao.UserDao"> <!-- 根据某字段查询所有 --> <select id="getUserByType" resultType="com.wanli.entity.UserEntity" parameterType="java.lang.String"> select * from user <!-- 非空判断,无数据查询所有 --> <if test="type != null and type != '' "> where type = #{type} </if> </select> <select id="getResult"resultMap="userMap" > select id,year,num,type from hospital </select> <!-- 可根据自己的需求,是否要使用 ,property是实体类属性值,column是数据库字段值,用resultMap可以简化配置,假如数据库中字段名修改了,如果我们用的resultType的话,可能就要去改实体类了,而reusltMap我们只需要修改对应column属性--> <resultMap id="userMap" type="com.wanli.city.entity.CityPopulationEntity" > <result property="id" column="ID"/> <result property="year" column="YEAR"/> <result property="num" column="NUM"/> <result property="type" column="TYPE"/> </resultMap> </mapper>
dao接口:
import java.util.List; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.wanli.entity.UserEntity; @Mapper public interface UserDao extends BaseMapper<UserDao>{ // mapper文件中如果有if判断时需要加注解@Param,否则报错,@param中的type是sql文件中的占位符变量,要保持一致 List<UserlEntity> getUserByType(@Param("type") String type); }
service接口:
import java.util.List; import com.wanli.entity.CityHospitalEntity; public interface CityHospitalService { List<CityHospitalEntity> getHospitalByType(String type); }
service实现类:
import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.wanli.dao.CityHospitalDao; import com.wanli.entity.CityHospitalEntity; import com.wanli.service.CityHospitalService; @Service
public class CityHospitalServiceImpl implements CityHospitalService { @Autowired private CityHospitalDao hospitalDao; @Override public List<CityHospitalEntity> getHospitalByType(String type) { // TODO Auto-generated method stub return hospitalDao.getHospitalByType(type); } }
controller层:
import java.util.List; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.supermap.ggzy.city.entity.CityHospitalEntity; import com.supermap.ggzy.city.service.CityHospitalService; @RestController @RequestMapping("cityHospital") public class CityHospitalController {
@Autowired private CityHospitalService hospitalService; @RequestMapping("/getHospitalByType") public List<CityHospitalEntity> getHospitalByType(HttpServletRequest request){ String type = request.getParameter("type"); List<CityHospitalEntity> list = hospitalService.getHospitalByType(type); return list; } }
pom文件:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.wanli.qiumingshan</groupId> <artifactId>city</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <!-- 本项目打成war包步骤 第一,<packaging>jar</packaging>改成war 第二,本pom文件最下面注释去掉 第三,项目右键maven - install --> <name>city</name> <description>qiumingshan-city</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.4.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.1.0</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency> <!-- redis --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <!-- oracle驱动 --> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version>11.2.0.3</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.5</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.9</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <!-- swagger --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.5.0</version> </dependency> <!-- swagger-ui --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.5.0</version> </dependency> <!-- shiro --> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.4.0</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>1.4.0</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-cas</artifactId> <version>1.4.0</version> </dependency> <!-- http --> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpmime</artifactId> </dependency> <!-- commons --> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.6</version> </dependency> <!-- excel解析 poi --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.14</version> </dependency> <!-- 改成war包此处应去掉注释 --> <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml --> <!-- <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.14</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> --> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
启动类:
import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; @SpringBootApplication @ServletComponentScan @MapperScan("com.baomidou.mybatisplus.samples.quickstart.mapper") public class CityApplication extends SpringBootServletInitializer{ public static void main(String[] args) { SpringApplication.run(CityApplication.class, args); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(CityApplication.class); } }
配置文件yml:
# Tomcat
server:
tomcat:
uri-encoding: UTF-8
max-threads: 1000
min-spare-threads: 30
port: 8080
servlet:
context-path: /city
spring:
jmx:
default-domain: city
devtools:
restart:
enabled: true
profiles:
active: dev
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
servlet:
multipart:
max-file-size: 100MB
max-request-size: 100MB
enabled: true
freemarker:
suffix: .html
request-context-attribute: request
datasource:
type: com.alibaba.druid.pool.DruidDataSource
platform: oracle
driver-class-name: oracle.jdbc.driver.OracleDriver
url: jdbc:oracle:thin:@127.0.0.1:8080:orcl
username: city
password: city
initialSize: 5
minIdle: 5
maxActive: 20
maxWait: 60000
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
filters: stat,wall,log4j
logSlowSql: true
#mybatis
mybatis-plus:
mapper-locations: classpath:mapper/*.xml
#实体扫描,多个package用逗号或者分号分隔
typeAliasesPackage: com.wanli.*.entity
global-config:
#主键类型 0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
#id-type: 0
#字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断"
field-strategy: 2
#刷新mapper 调试神器
refresh-mapper: true
#数据库大写下划线转换
capital-mode: true
# Sequence序列接口实现类配置
#key-generator: com.baomidou.mybatisplus.incrementer.OracleKeyGenerator
#逻辑删除配置
logic-delete-value: -1
logic-not-delete-value: 0
#自定义填充策略接口实现
#meta-object-handler: com.baomidou.springboot.xxx
db-config:
db-type: oracle
configuration:
map-underscore-to-camel-case: true
cache-enabled: false
call-setters-on-nulls: true
jdbc-type-for-null: null
logging:
level:
com.supermap.ggzy.city.dao : debug
id="cityPopulationMap"