springboot数据访问
jdbc 访问
1.添加数据访问依赖包。
2.添加配置:
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.url=jdbc:mysql://192.168.85.132:3306/book
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
默认使用org.apache.tomcat.jdbc.pool.DataSource作为数据源
自定义数据源配置:
spring.datasource.initialSize=5
spring.datasource.maxWait=20
@Configuration
public class MyDruidConfig {
@ConfigurationProperties(prefix = "spring.datasource")
@Bean
public DruidDataSource druid(){
return new DruidDataSource();
}
}
配置数据源监控:
package com.tree.springbootspringdata.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.servlet.ServletRegistration;
import javax.sql.DataSource;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
@Configuration
public class MyDruidConfig {
@ConfigurationProperties(prefix = "spring.datasource")
@Bean
public DruidDataSource druid(){
return new DruidDataSource();
}
//配置druid监控
//1. 配置一个管理后台servle
@Bean
public ServletRegistrationBean staViewServlet(){
ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");
Map<String,String> initParam =new HashMap<String,String>();
initParam.put("loginUsername","admin");
initParam.put("loginPassword","123456");
initParam.put("allow",""); //默认是允许所有访问
initParam.put("deny","192.168.85.44");
servletRegistrationBean.setInitParameters(initParam);
return servletRegistrationBean;
}
//2. 配置一个监控filtre
@Bean
public FilterRegistrationBean webStatFilter(){
FilterRegistrationBean filterRegistrationBean=new FilterRegistrationBean();
filterRegistrationBean.setFilter(new WebStatFilter());
Map<String,String> initParam =new HashMap<String,String>();
initParam.put("exclusions","*.js,*.css,/druid/*");
filterRegistrationBean.setInitParameters(initParam);
filterRegistrationBean.setUrlPatterns(Arrays.asList("/*"));
return filterRegistrationBean;
}
}
:http://localhost:8080/book/druid/index.html 监控数据源
使用mybatis访问数据
配置:mybatis.xml xxxMapper.xml
mybatis.config-location=classpath:mybatis/mybatis-config.xml
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml
添加映射文件
使用dao层接时,记得加上@Mapper 注解或者在spingboot启动类上加@MapperScan
使用JPA访问数据即spring data
JPA:ORM(对象关系映射)
@Entity //放置在实体类上,用来告诉Jpa这是一个实体类(和数据表映射的类)
@Table(name=“tb_user”) //指定和和哪个数据表对应,可以忽略参数,如果省略,默认表明就是类名
@Id // 这是主键
@GeneratedValue(strategy=GenerationType.IDENTITY) //自增主键
@Cloumn(name=“lastName”,length=50) // 和表对应的一个属性
如果省略,则列明就会是属性名
编写一个Dao接口来操作实体类对应的数据表(Repository)
//用于继承JpaRepository来操作数据库
public interface UserRepository extend JpaRepository<User,Integer>(){}
spring:
jpa:
hibernate:
ddl-auto: update # 更新或者创建数据表
show-sql: true # 控制台显示sql