mirror of
https://github.com/JeffLi1993/springboot-learning-example.git
synced 2026-03-13 21:43:45 +08:00
Spring Boot HTTP over JSON 的错误码异常处理
This commit is contained in:
1
pom.xml
1
pom.xml
@@ -17,6 +17,7 @@
|
|||||||
<module>springboot-dubbo-client</module>
|
<module>springboot-dubbo-client</module>
|
||||||
<module>springboot-redis</module>
|
<module>springboot-redis</module>
|
||||||
<module>springboot-validation-over-json</module>
|
<module>springboot-validation-over-json</module>
|
||||||
|
<module>springboot-mybatis-mutil-datasource</module>
|
||||||
</modules>
|
</modules>
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
|||||||
67
springboot-mybatis-mutil-datasource/pom.xml
Executable file
67
springboot-mybatis-mutil-datasource/pom.xml
Executable file
@@ -0,0 +1,67 @@
|
|||||||
|
<?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>springboot</groupId>
|
||||||
|
<artifactId>springboot-mybatis-mutil-datasource</artifactId>
|
||||||
|
<version>0.0.1-SNAPSHOT</version>
|
||||||
|
<name>springboot-mybatis-mutil-datasource :: Spring Boot 实现 Mybatis 多数据源配置</name>
|
||||||
|
|
||||||
|
<!-- Spring Boot 启动父依赖 -->
|
||||||
|
<parent>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-parent</artifactId>
|
||||||
|
<version>1.5.1.RELEASE</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<mybatis-spring-boot>1.2.0</mybatis-spring-boot>
|
||||||
|
<mysql-connector>5.1.39</mysql-connector>
|
||||||
|
<druid>1.0.18</druid>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
|
||||||
|
<!-- Spring Boot Web 依赖 -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-web</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- Spring Boot Test 依赖 -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-test</artifactId>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- Spring Boot Mybatis 依赖 -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.mybatis.spring.boot</groupId>
|
||||||
|
<artifactId>mybatis-spring-boot-starter</artifactId>
|
||||||
|
<version>${mybatis-spring-boot}</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- Druid 数据连接池依赖 -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.alibaba</groupId>
|
||||||
|
<artifactId>druid</artifactId>
|
||||||
|
<version>${druid}</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- MySQL 连接驱动依赖 -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>mysql</groupId>
|
||||||
|
<artifactId>mysql-connector-java</artifactId>
|
||||||
|
<version>${mysql-connector}</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- Junit -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>junit</groupId>
|
||||||
|
<artifactId>junit</artifactId>
|
||||||
|
<version>4.12</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
</project>
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package org.spring.springboot;
|
||||||
|
|
||||||
|
import org.springframework.boot.SpringApplication;
|
||||||
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Spring Boot 应用启动类
|
||||||
|
*
|
||||||
|
* Created by bysocket on 16/4/26.
|
||||||
|
*/
|
||||||
|
// Spring Boot 应用的标识
|
||||||
|
@SpringBootApplication
|
||||||
|
public class Application {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
// 程序启动入口
|
||||||
|
// 启动嵌入式的 Tomcat 并初始化 Spring 环境及其各 Spring 组件
|
||||||
|
SpringApplication.run(Application.class,args);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
package org.spring.springboot.config.ds;
|
||||||
|
|
||||||
|
import com.alibaba.druid.pool.DruidDataSource;
|
||||||
|
import org.apache.ibatis.session.SqlSessionFactory;
|
||||||
|
import org.mybatis.spring.SqlSessionFactoryBean;
|
||||||
|
import org.mybatis.spring.annotation.MapperScan;
|
||||||
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.context.annotation.Primary;
|
||||||
|
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
|
||||||
|
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
|
||||||
|
|
||||||
|
import javax.sql.DataSource;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
// 扫描 Mapper 接口并容器管理
|
||||||
|
@MapperScan(basePackages = ClusterDataSourceConfig.PACKAGE, sqlSessionFactoryRef = "clusterSqlSessionFactory")
|
||||||
|
public class ClusterDataSourceConfig {
|
||||||
|
// 精确到 cluster 目录,以便跟其他数据源隔离
|
||||||
|
static final String PACKAGE = "org.spring.springboot.dao.cluster";
|
||||||
|
static final String MAPPER_LOCATION = "classpath:mapper/cluster/*.xml";
|
||||||
|
|
||||||
|
@Value("${cluster.datasource.url}")
|
||||||
|
private String url;
|
||||||
|
|
||||||
|
@Value("${cluster.datasource.username}")
|
||||||
|
private String user;
|
||||||
|
|
||||||
|
@Value("${cluster.datasource.password}")
|
||||||
|
private String password;
|
||||||
|
|
||||||
|
@Value("${cluster.datasource.driverClassName}")
|
||||||
|
private String driverClass;
|
||||||
|
|
||||||
|
@Bean(name = "clusterDataSource")
|
||||||
|
public DataSource clusterDataSource() {
|
||||||
|
DruidDataSource dataSource = new DruidDataSource();
|
||||||
|
dataSource.setDriverClassName(driverClass);
|
||||||
|
dataSource.setUrl(url);
|
||||||
|
dataSource.setUsername(user);
|
||||||
|
dataSource.setPassword(password);
|
||||||
|
return dataSource;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean(name = "clusterTransactionManager")
|
||||||
|
public DataSourceTransactionManager clusterTransactionManager() {
|
||||||
|
return new DataSourceTransactionManager(clusterDataSource());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean(name = "clusterSqlSessionFactory")
|
||||||
|
public SqlSessionFactory clusterSqlSessionFactory(@Qualifier("clusterDataSource") DataSource clusterDataSource)
|
||||||
|
throws Exception {
|
||||||
|
final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
|
||||||
|
sessionFactory.setDataSource(clusterDataSource);
|
||||||
|
sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver()
|
||||||
|
.getResources(ClusterDataSourceConfig.MAPPER_LOCATION));
|
||||||
|
return sessionFactory.getObject();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
package org.spring.springboot.config.ds;
|
||||||
|
|
||||||
|
import com.alibaba.druid.pool.DruidDataSource;
|
||||||
|
import org.apache.ibatis.session.SqlSessionFactory;
|
||||||
|
import org.mybatis.spring.SqlSessionFactoryBean;
|
||||||
|
import org.mybatis.spring.annotation.MapperScan;
|
||||||
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.context.annotation.Primary;
|
||||||
|
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
|
||||||
|
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
|
||||||
|
|
||||||
|
import javax.sql.DataSource;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
// 扫描 Mapper 接口并容器管理
|
||||||
|
@MapperScan(basePackages = MasterDataSourceConfig.PACKAGE, sqlSessionFactoryRef = "masterSqlSessionFactory")
|
||||||
|
public class MasterDataSourceConfig {
|
||||||
|
// 精确到 master 目录,以便跟其他数据源隔离
|
||||||
|
static final String PACKAGE = "org.spring.springboot.dao.master";
|
||||||
|
static final String MAPPER_LOCATION = "classpath:mapper/master/*.xml";
|
||||||
|
|
||||||
|
@Value("${master.datasource.url}")
|
||||||
|
private String url;
|
||||||
|
|
||||||
|
@Value("${master.datasource.username}")
|
||||||
|
private String user;
|
||||||
|
|
||||||
|
@Value("${master.datasource.password}")
|
||||||
|
private String password;
|
||||||
|
|
||||||
|
@Value("${master.datasource.driverClassName")
|
||||||
|
private String driverClass;
|
||||||
|
|
||||||
|
@Bean(name = "masterDataSource")
|
||||||
|
@Primary
|
||||||
|
public DataSource masterDataSource() {
|
||||||
|
DruidDataSource dataSource = new DruidDataSource();
|
||||||
|
dataSource.setDriverClassName(driverClass);
|
||||||
|
dataSource.setUrl(url);
|
||||||
|
dataSource.setUsername(user);
|
||||||
|
dataSource.setPassword(password);
|
||||||
|
return dataSource;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean(name = "masterTransactionManager")
|
||||||
|
@Primary
|
||||||
|
public DataSourceTransactionManager masterTransactionManager() {
|
||||||
|
return new DataSourceTransactionManager(masterDataSource());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean(name = "masterSqlSessionFactory")
|
||||||
|
@Primary
|
||||||
|
public SqlSessionFactory masterSqlSessionFactory(@Qualifier("masterDataSource") DataSource masterDataSource)
|
||||||
|
throws Exception {
|
||||||
|
final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
|
||||||
|
sessionFactory.setDataSource(masterDataSource);
|
||||||
|
sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver()
|
||||||
|
.getResources(MasterDataSourceConfig.MAPPER_LOCATION));
|
||||||
|
return sessionFactory.getObject();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
package org.spring.springboot.controller;
|
||||||
|
|
||||||
|
import org.spring.springboot.domain.City;
|
||||||
|
import org.spring.springboot.domain.User;
|
||||||
|
import org.spring.springboot.service.UserService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户控制层
|
||||||
|
*
|
||||||
|
* Created by bysocket on 07/02/2017.
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
public class UserRestController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private UserService userService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据用户名获取用户信息,包括从库的地址信息
|
||||||
|
*
|
||||||
|
* @param userName
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "/api/user", method = RequestMethod.GET)
|
||||||
|
public User findByName(@RequestParam(value = "userName", required = true) String userName) {
|
||||||
|
return userService.findByName(userName);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package org.spring.springboot.dao.cluster;
|
||||||
|
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.spring.springboot.domain.City;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 城市 DAO 接口类
|
||||||
|
*
|
||||||
|
* Created by bysocket on 07/02/2017.
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface CityDao {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据城市名称,查询城市信息
|
||||||
|
*
|
||||||
|
* @param cityName 城市名
|
||||||
|
*/
|
||||||
|
City findByName(@Param("cityName") String cityName);
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
package org.spring.springboot.dao.master;
|
||||||
|
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.spring.springboot.domain.User;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户 DAO 接口类
|
||||||
|
*
|
||||||
|
* Created by bysocket on 07/02/2017.
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface UserDao {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据用户名获取用户信息
|
||||||
|
*
|
||||||
|
* @param userName
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
User findByName(@Param("userName") String userName);
|
||||||
|
}
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
package org.spring.springboot.domain;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 城市实体类
|
||||||
|
*
|
||||||
|
* Created by bysocket on 07/02/2017.
|
||||||
|
*/
|
||||||
|
public class City {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 城市编号
|
||||||
|
*/
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 省份编号
|
||||||
|
*/
|
||||||
|
private Long provinceId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 城市名称
|
||||||
|
*/
|
||||||
|
private String cityName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 描述
|
||||||
|
*/
|
||||||
|
private String description;
|
||||||
|
|
||||||
|
public Long getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(Long id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getProvinceId() {
|
||||||
|
return provinceId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProvinceId(Long provinceId) {
|
||||||
|
this.provinceId = provinceId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCityName() {
|
||||||
|
return cityName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCityName(String cityName) {
|
||||||
|
this.cityName = cityName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDescription() {
|
||||||
|
return description;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDescription(String description) {
|
||||||
|
this.description = description;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
package org.spring.springboot.domain;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户实体类
|
||||||
|
*
|
||||||
|
* Created by bysocket on 07/02/2017.
|
||||||
|
*/
|
||||||
|
public class User {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 城市编号
|
||||||
|
*/
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 城市名称
|
||||||
|
*/
|
||||||
|
private String userName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 描述
|
||||||
|
*/
|
||||||
|
private String description;
|
||||||
|
|
||||||
|
private City city;
|
||||||
|
|
||||||
|
public City getCity() {
|
||||||
|
return city;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCity(City city) {
|
||||||
|
this.city = city;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(Long id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUserName() {
|
||||||
|
return userName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserName(String userName) {
|
||||||
|
this.userName = userName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDescription() {
|
||||||
|
return description;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDescription(String description) {
|
||||||
|
this.description = description;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package org.spring.springboot.service;
|
||||||
|
|
||||||
|
import org.spring.springboot.domain.City;
|
||||||
|
import org.spring.springboot.domain.User;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户业务接口层
|
||||||
|
*
|
||||||
|
* Created by bysocket on 07/02/2017.
|
||||||
|
*/
|
||||||
|
public interface UserService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据用户名获取用户信息,包括从库的地址信息
|
||||||
|
*
|
||||||
|
* @param userName
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
User findByName(String userName);
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
package org.spring.springboot.service.impl;
|
||||||
|
|
||||||
|
import org.spring.springboot.dao.cluster.CityDao;
|
||||||
|
import org.spring.springboot.dao.master.UserDao;
|
||||||
|
import org.spring.springboot.domain.City;
|
||||||
|
import org.spring.springboot.domain.User;
|
||||||
|
import org.spring.springboot.service.UserService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户业务实现层
|
||||||
|
*
|
||||||
|
* Created by bysocket on 07/02/2017.
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class UserServiceImpl implements UserService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private UserDao userDao; // 主数据源
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private CityDao cityDao; // 从数据源
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public User findByName(String userName) {
|
||||||
|
User user = userDao.findByName(userName);
|
||||||
|
City city = cityDao.findByName("温岭市");
|
||||||
|
user.setCity(city);
|
||||||
|
return user;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
## master 数据源配置
|
||||||
|
master.datasource.url=jdbc:mysql://localhost:3306/springbootdb?useUnicode=true&characterEncoding=utf8
|
||||||
|
master.datasource.username=root
|
||||||
|
master.datasource.password=123456
|
||||||
|
master.datasource.driverClassName=com.mysql.jdbc.Driver
|
||||||
|
|
||||||
|
## cluster 数据源配置
|
||||||
|
cluster.datasource.url=jdbc:mysql://localhost:3306/springbootdb_cluster?useUnicode=true&characterEncoding=utf8
|
||||||
|
cluster.datasource.username=root
|
||||||
|
cluster.datasource.password=123456
|
||||||
|
cluster.datasource.driverClassName=com.mysql.jdbc.Driver
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
<?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="org.spring.springboot.dao.cluster.CityDao">
|
||||||
|
<resultMap id="BaseResultMap" type="org.spring.springboot.domain.City">
|
||||||
|
<result column="id" property="id" />
|
||||||
|
<result column="province_id" property="provinceId" />
|
||||||
|
<result column="city_name" property="cityName" />
|
||||||
|
<result column="description" property="description" />
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<parameterMap id="City" type="org.spring.springboot.domain.City"/>
|
||||||
|
|
||||||
|
<sql id="Base_Column_List">
|
||||||
|
id, province_id, city_name, description
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<select id="findByName" resultMap="BaseResultMap" parameterType="java.lang.String">
|
||||||
|
select
|
||||||
|
<include refid="Base_Column_List" />
|
||||||
|
from city
|
||||||
|
where city_name = #{cityName}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
</mapper>
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
<?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="org.spring.springboot.dao.master.UserDao">
|
||||||
|
<resultMap id="BaseResultMap" type="org.spring.springboot.domain.User">
|
||||||
|
<result column="id" property="id" />
|
||||||
|
<result column="user_name" property="userName" />
|
||||||
|
<result column="description" property="description" />
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<parameterMap id="User" type="org.spring.springboot.domain.User"/>
|
||||||
|
|
||||||
|
<sql id="Base_Column_List">
|
||||||
|
id, user_name, description
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<select id="findByName" resultMap="BaseResultMap" parameterType="java.lang.String">
|
||||||
|
select
|
||||||
|
<include refid="Base_Column_List" />
|
||||||
|
from user
|
||||||
|
where id = 1
|
||||||
|
</select>
|
||||||
|
|
||||||
|
</mapper>
|
||||||
Reference in New Issue
Block a user