栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

springboot整合数据库相关操作

springboot整合数据库相关操作

springboot整合JDBC
  1. 创建项目,勾选依赖:
    至少要勾选jdbc和mysql Driver
  2. 配置数据库文件,也就是连接数据库的必要参数
spring:
  datasource:
    url: mysql 8 以上要添加时区参数,否则会报错
    username: 
    password: 
    driver-class-name: 
  1. springboot中有很多的XXX Template,我们拿来即用就行
  2. 配置完之后首先要查看手否配置正确,简单测试一下即可
@RestController
public class JdbcController {

    @Autowired
    JdbcTemplate jdbcTemplate;

    @RequestMapping("/select")
    public List> jdbcTest(){
        String sql = "select * from study.t_user";
        List> maps = jdbcTemplate.queryForList(sql);
        return maps;
    }

}

springboot默认数据源:class com.zaxxer.hikari.HikariDataSource

  1. JdbcTemplate使用
    第一步:通过自动注入获取JdbcTemplate
    第二步:编写方法与sql语句
    第三步:执行sql语句
    JdbcTemplate的具体使用请参考:Jdbc使用参考
springboot整合Druid数据源

Druid是一个高效的数据查询系统,主要解决的是对于大量的基于时序的数据进行聚合查询。数据可以实时摄入,进入到Druid后立即可查,同时数据是几乎是不可变。通常是基于时序的事实事件,事实发生后进入Druid,外部系统就可以对该事实进行查询。

  1. 导入依赖:
        
            com.alibaba
            druid
            1.1.21
        

引入druid数据源之后,我们就可以在springboot中配置我们自己的数据源。

spring:
  datasource:
#    type表示使用哪个数据源
    type: com.alibaba.druid.pool.DruidDataSource

经过测试会发现,获取datasource的class会变成 com.alibaba.druid.pool.DruidDataSource
由于Druid数据源并没有注入到spring容器中,Druid中的属性也就没有值,所以我们要将其注入到spring容器中,通过yml文件给Druid中的属性赋值。

  1. 编写配置类,将Druid加载到spring容器中,并为其中的属性赋值
@Configuration
public class DruidConfig {
	
	//绑定配置文件
    @ConfigurationProperties(prefix = "spring.datasource")
    //注入打spring容器中
    @Bean
    public DataSource druidDataSource(){
        return new DruidDataSource();
    }
}
  1. 后台监控
    Druid 数据源具有监控的功能,并提供了一个 web 界面方便用户查看,类似安装 路由器 时,人家也提供了一个默认的 web 页面。
    所以第一步需要设置 Druid 的后台管理页面,比如 登录账号、密码 等;配置后台管理;
    //后台监控
    @Bean
    //相当于 web.xml  ServletRegistrationBean
    public ServletRegistrationBean servletRegistrationBean(){
        ServletRegistrationBean bean = new ServletRegistrationBean<>(new StatViewServlet(),"/druid/*");
        //设置后台的参数配置,比如用户名和密码等
        Map initParam = new HashMap<>();

        //设置用户名
        initParam.put("loginUsername","admin");
        //设置密码
        initParam.put("loginPassword","267946");
        //后台设置谁可以访问
        //initParam.put("allow","localhost"); 只有本机可以访问
        //initParam.put("allow","");  为空或者为null时,表示允许所有访问
        initParam.put("allow","");
        bean.setInitParameters(initParam);
        return bean;
    }

    //过滤器
    @Bean
    public FilterRegistrationBean filterRegistrationBean(){
        FilterRegistrationBean filterBean = new FilterRegistrationBean();
        //设置过滤器
        filterBean.setFilter(new WebStatFilter());
        Map map = new HashMap<>();
        //以下的这些不用进行统计
        map.put("exclusions","*.js,*.css,/druid/*");
        //设置可以过滤的请求
        filterBean.setInitParameters(map);

        return filterBean;
    }

因为springboot中内置了servlet容器,所有没有web.xml,我们可以通过这种注册Bean的形式来配置我们的Servlet,详情请参考:SpringBoot中使用Servlet

springboot整合mybatis

我们在spring阶段已经学习过整合mybatis,就是使用一个包:mybatis-spring,在springboot阶段也是一样的,导入mybatis-spring-boot-starter。

  1. 导入依赖:

    org.mybatis.spring.boot
    mybatis-spring-boot-starter
    2.1.1

  1. 对应于数据库字段,写出实体类信息
  2. 写对应类的mapper接口
@Mapper
//被@Mapper注解的表示这是一个mybatis的mapper类
@Repository
//@Repository表示将这个注册到spring容器中
public interface UserMapper {
	.....方法
}

  1. 编写mapper.xml文件,将mapper接口中的方法与mapper.xml中的sql语句绑定







  1. 如果是web应用,还要编写Controller来调用mapper层
@RestController
public class UserController {

    @Autowired
    private UserMapper mapper;

    @RequestMapping("/show")
    public List selectUserList(){
        List users = mapper.selectUserList();
        return users;
    }
	//如果传入的参数是一个实体类,可以使用&形式传递参数
	//也可以使用Restful风格进行传参,前提是参数名要与实体类中的字段名一致	
    @RequestMapping("/saveUser/{id}/{name}/{age}")
    public void saveUser(User user){
        mapper.saveUser(user);
    }

    @RequestMapping("/delete/{id}")
    public void deleteUser(@PathVariable("id") int id){
        mapper.deleteUser(id);
    }

}
  1. springboot整合mybatis
    给实体类起别名以及绑定mapper.xml文件的位置,还有其他参数也可以进行配置
mybatis:
  # ***mapper.xml的位置
  mapper-locations: classpath:mybatis/mappers/*.xml
  #给包下的实体类起别名
  type-aliases-package: com.study.pojo

  1. 测试

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/312971.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号