SpringBoot 는 JDBC,Druid 데이터 원본 의 예제 코드 를 통합 합 니 다.
8273 단어 SpringBootJDBCDruid데이터 원본
1.1.jdbc 관련 의존 패키지 가 져 오기
주요 의존 패키지:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
1.2.yaml 설정 데이터 원본application.yml 은 jdbc 데이터베이스 작업 데이터 원본 설정 을 연결 하 는 데 사 용 됩 니 다.여 기 는 가장 간단 한 설정 입 니 다.
spring:
datasource:
username: root
password: admin
# , serverTimezone=UTC,
url: jdbc:mysql://localhost:3306/mybatis02_0322?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
driver-class-name: com.mysql.cj.jdbc.Driver
실제 개발 과정 에 서 는 기본적으로 Druid,C3P 0 과 통합 되 며,아래 에 도 Druid 데이터 원본 통합 과 관련 된 설정 이 제 시 됩 니 다.따라서 여기에 완전한 application.yml 설정 을 함께 놓 습 니 다.
spring:
datasource:
username: root
password: admin
# , serverTimezone=UTC
url: jdbc:mysql://localhost:3306/mybatis02_0322?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
driver-class-name: com.mysql.cj.jdbc.Driver
type: com.alibaba.druid.pool.DruidDataSource
#springboot ,
#druid
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: 、log4j: 、wall: sql
# :java.lang.ClassNotFoundException:org.apache.log4j.Priority
# log4j ,maven :https://mvnrepository.com/artifact/log4j/log4j
filters: stat,wall,log4j
maxPoolPreparedStatementPerConnectionSize: 20
useGlobalDataSourceStat: true
connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
마지막 으로 데이터베이스 연결 접근 이 성 공 했 는 지 테스트 합 니 다.
@SpringBootTest
class SpringbootDataApplicationTests {
@Autowired
private DataSource dataSource;
@Test
void testConnection() throws SQLException {
System.out.println(dataSource.getClass());
Connection connection = dataSource.getConnection();
System.out.println(connection);
}
}
인쇄 에 성 공 했 습 니 다.데이터 원본 정 보 를 가 져 왔 습 니 다.1.3.인터페이스 액세스 인터페이스 테스트
@RestController
public class JDBCController {
@Autowired
private JdbcTemplate jdbcTemplate;
@RequestMapping("/queryList")
public List<Map<String, Object>> query() {
String sql = "select * from user";
List<Map<String, Object>> queryForList = jdbcTemplate.queryForList(sql);
return queryForList;
}
@RequestMapping("/addUser")
public String AddUser(){
String sql = "insert into mybatis02_0322.user(id, username, password) values(4, ' ', '654321')";
int update = jdbcTemplate.update(sql);
return "AddUser Ok";
}
@RequestMapping("/update/{id}")
public String update(@PathVariable("id") Integer id){
String sql = "update mybatis02_0322.user set username = ?, password = ? where id = " + id;
Object[] objects = new Object[2];
objects[0] = " 111";
objects[1] = "32321";
int update = jdbcTemplate.update(sql, objects);
return "updateUser Ok";
}
@RequestMapping("/delete/{id}")
public String delete(@PathVariable("id") Integer id){
String sql = "delete from mybatis02_0322.user where id = " + id;
int update = jdbcTemplate.update(sql);
return "delete Ok";
}
}
여기 서 인터페이스 요청 페이지 에 대응 하여 테스트 를 요청 하면 됩 니 다.배경 데이터 베이스 차원 에서 검증 을 하면 비교적 간단 합 니 다.여 기 는 일일이 설명 하지 않 고 제 소스 코드 를 보 러 갈 수 있 습 니 다.2.SpringBoot 통합 DruidDataSource
2.1.druid 안내
드 루 아 이 드 는 알 리 바 바 오픈 소스 플랫폼 의 데이터베이스 연결 풀 로,C3P 0,DBCP,PROXOOL 등 DB 풀 의 우수한 실천 을 결합 하면 서 로그 모니터링 을 추가 했다.
Druid 는 DB 풀 연결 과 Sql 의 실행 상황 을 잘 모니터링 할 수 있 으 며,타고 난 모니터링 을 위 한 DB 연결 풀 이다.
SpringBoot 2.0 이상 은 기본적으로 Hikari 데이터 원본 을 사용 합 니 다.HiKari 와 Druid 는 현재 자바 웹 에서 개 원 된 우수한 데이터 원본 이 라 고 할 수 있 습 니 다.
2.2.Druid 관련 의존 도 가 져 오기
pom.xml 파일 에 대응:
<!-- alibaba druid -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.3</version>
</dependency>
<!-- log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
2.3.Druid 설정 및 모니터링 페이지 사용① DruidConfig 클래스 를 작성 하고 배경 모니터링 기능 Bean 및 필터 Bean 을 사용 합 니 다.
@Configuration
public class DruidConfig {
@ConfigurationProperties(prefix = "spring.datasource")
@Bean
public DataSource druidDataSource(){
return new DruidDataSource();
}
//
@Bean
public ServletRegistrationBean statViewServlet(){
ServletRegistrationBean<StatViewServlet> bean = new ServletRegistrationBean<>(new StatViewServlet(), "/druid/*");
// ,
HashMap<String, String> initParameters = new HashMap<>();
initParameters.put("loginUsername", "admin"); // key, loginUsername loginPassword
initParameters.put("loginPassword", "123456");
//
initParameters.put("allow", "");
// initParameters.put("fengye", "192.168.1.10");
bean.setInitParameters(initParameters); //
return bean;
}
//
@Bean
public FilterRegistrationBean webStatFilter(){
FilterRegistrationBean<Filter> bean = new FilterRegistrationBean<>();
bean.setFilter(new WebStatFilter());
HashMap<String, String> initParameters = new HashMap<>();
//
initParameters.put("exclusions", "*.js,*.css,/druid/*");
bean.setInitParameters(initParameters);
return bean;
}
}
② 시작 페이지 가 Druid 에 접근 하고 sql 에 접근 하 는 것 을 테스트 합 니 다.본 블 로그 작성 참고 문서 관련:
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using-boot-starter
https://www.yuque.com/atguigu/springboot/aob431#wtNk1
Spring Boot 2 학습 노트(위):https://blog.csdn.net/u011863024/article/details/113667634
Spring Boot 2 학습 노트(하):
https://blog.csdn.net/u011863024/article/details/113667946
예제 코드 가 Github 주소 로 업로드 되 었 습 니 다.
https://github.com/devyf/SpringBoot_Study
SpringBoot 통합 JDBC,Druid 데이터 원본 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 SpringBoot 통합 JDBC,Druid 데이터 원본 내용 은 저희 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보시 기 바 랍 니 다.앞으로 많은 응원 부탁드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Java・SpringBoot・Thymeleaf】 에러 메세지를 구현(SpringBoot 어플리케이션 실천편 3)로그인하여 사용자 목록을 표시하는 응용 프로그램을 만들고, Spring에서의 개발에 대해 공부하겠습니다 🌟 마지막 데이터 바인딩에 계속 바인딩 실패 시 오류 메시지를 구현합니다. 마지막 기사🌟 src/main/res...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.