首先引入依賴:
< dependency>
< groupId> org.mybatis.spring.boot</ groupId>
< artifactId> mybatis-spring-boot-starter</ artifactId>
< version> 1.3.2</ version>
</ dependency>
< dependency>
< groupId> com.alibaba</ groupId>
< artifactId> druid</ artifactId>
< version> 1.1.10</ version>
</ dependency>
< dependency>
< groupId> mysql</ groupId>
< artifactId> mysql-connector-java</ artifactId>
< scope> runtime</ scope>
</ dependency>
先整合數據源:
spring :
datasource :
url : jdbc: mysql: //localhost: 3306/test? useUnicode=true&characterEncoding =UTF- 8&useSSL =false&serverTimezone =GMT%2B8
username : root
password : 123456
driver-class-name : com.mysql.jdbc.Driver
type : com.alibaba.druid.pool.DruidDataSource
initialSize : 5
minIdle : 5
maxActive : 20
maxWait : 60000
timeBetweenEvictionRunsMillis : 60000
minEvictableIdleTimeMillis : 300000
validationQuery : SELECT 1 FROM DUAL
testWhileIdle : true
testOnBorrow : false
testOnReturn : false
poolPreparedStatements : true
filters : stat, wall, log4j
maxPoolPreparedStatementPerConnectionSize : 20
useGlobalDataSourceStat : true
connectionProperties : druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
編寫druid配置類:
package com. sun. springboot. config;
import com. alibaba. druid. pool. DruidDataSource;
import com. alibaba. druid. support. http. StatViewServlet;
import com. alibaba. druid. support. http. WebStatFilter;
import org. springframework. boot. context. properties. ConfigurationProperties;
import org. springframework. boot. web. servlet. FilterRegistrationBean;
import org. springframework. boot. web. servlet. ServletRegistrationBean;
import org. springframework. context. annotation. Bean;
import org. springframework. context. annotation. Configuration;
import javax. sql. DataSource;
import java. util. Arrays;
import java. util. HashMap;
import java. util. Map;
@Configuration
public class DruidConfig {
@ConfigurationProperties ( prefix = "spring.datasource" )
@Bean
public DataSource druid ( ) {
return new DruidDataSource ( ) ;
}
@Bean
public ServletRegistrationBean statViewServlet ( ) {
ServletRegistrationBean bean = new ServletRegistrationBean ( new StatViewServlet ( ) , "/druid/*" ) ;
Map< String, String> initParams = new HashMap < > ( ) ;
initParams. put ( "loginUsername" , "admin" ) ;
initParams. put ( "loginPassword" , "123456" ) ;
initParams. put ( "allow" , "" ) ;
initParams. put ( "deny" , "192.168.0.1" ) ;
bean. setInitParameters ( initParams) ;
return bean;
}
/ / 2 、配置一個web監控的filter
@Bean
public FilterRegistrationBean webStatFilter ( ) {
FilterRegistrationBean bean = new FilterRegistrationBean ( ) ;
bean. setFilter ( new WebStatFilter ( ) ) ;
Map< String, String> initParams = new HashMap < > ( ) ;
initParams. put ( "exclusions" , "*.js,*.css,/druid/*" ) ;
bean. setInitParameters ( initParams) ;
bean. setUrlPatterns ( Arrays. asList ( "/*" ) ) ;
return bean;
}
}
數據源配置完成,配置mybatis
編寫Dao層
public interface DepartmentMapper {
@Select ( "select * from department where id=#{id}" )
public Department getDeptById ( Integer id) ;
@Delete ( "delete from department where id=#{id}" )
public int deleteDeptById ( Integer id) ;
@Options ( useGeneratedKeys = true , keyProperty = "id" )
@Insert ( "insert into department(departmentName) values(#{departmentName})" )
public int insertDept ( Department department) ;
@Update ( "update department set departmentName=#{departmentName} where id=#{id}" )
public int updateDept ( Department department) ;
}
編寫mybatis配置文件:
package com. sun. springboot. config;
import org. apache. ibatis. session. Configuration;
import org. mybatis. spring. boot. autoconfigure. ConfigurationCustomizer;
import org. springframework. context. annotation. Bean;
@org . springframework. context. annotation. Configuration
public class MyBatisConfig {
@Bean
public ConfigurationCustomizer configurationCustomizer ( ) {
return new ConfigurationCustomizer ( ) {
@Override
public void customize ( Configuration configuration) {
configuration. setMapUnderscoreToCamelCase ( true ) ;
}
} ;
}
}
主類上加上包掃描註解:
@MapperScan("com.sun.springboot.mapper")
@MapperScan ( "com.sun.springboot.mapper" )
@SpringBootApplication
public class SpringbootApplication {
public static void main ( String[ ] args) {
SpringApplication. run ( SpringbootApplication. class , args) ;
}
}