前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringBoot整合数据库

SpringBoot整合数据库

作者头像
用户11097514
发布2024-05-30 17:27:17
750
发布2024-05-30 17:27:17
举报
文章被收录于专栏:技术分享技术分享

SpringBoot整合数据库

必须导入的依赖:

代码语言:javascript
复制
<!--mysql驱动-->
<dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
    <version>8.0.32</version>
</dependency>

如果用mybatis的话就用

代码语言:javascript
复制
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.2</version>
</dependency>

如果是自己实现的话就用jdbc的依赖

配置数据库的信息

代码语言:javascript
复制
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.url= jdbc:mysql://localhost:3306/boot
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

将上述的配置整合后SpringBoot就会自动生成DataSource类 ,就可以直接用

springBoot集成jdbc的所有属性方法(源码中JdbcTemplate类)
代码语言:javascript
复制
public class JdbcTemplate extends JdbcAccessor implements JdbcOperations {
    private static final String RETURN_RESULT_SET_PREFIX = "#result-set-";
    private static final String RETURN_UPDATE_COUNT_PREFIX = "#update-count-";
    private boolean ignoreWarnings = true;
    private int fetchSize = -1;
    private int maxRows = -1;
    private int queryTimeout = -1;
    private boolean skipResultsProcessing = false;
    private boolean skipUndeclaredResults = false;
    private boolean resultsMapCaseInsensitive = false;

    public JdbcTemplate() {
    }

相关功能就可以通过jdbcTemplate实现

通过原生的JDBC查询数据

代码语言:javascript
复制
@RestController
public class JDBCController {

    @Autowired
    JdbcTemplate jdbcTemplate;

    @RequestMapping("/test01")
    public String testJDBC(){
        String sql = "select * from employee";
        List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);
        for (Map map : maps){
            System.out.println(map);
        }
        return "maps";
    }
}
配置信息

在springBoot的application.properties文件中

代码语言:javascript
复制
mybatis.mapper-locations=classpath:com.demo.mapper/*.xml
mybatis.type-aliases-package=com.demo.pojo
# 开启下划线与驼峰命名的转换
mybatis.configuration.map-underscore-to-camel-case=true

SpringBoot整合MyBatis

连接信息及其相关依赖
代码语言:javascript
复制
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.2</version>
</dependency>


  <!--mysql驱动-->
  <dependency>
      <groupId>com.mysql</groupId>
      <artifactId>mysql-connector-j</artifactId>
      <version>8.0.32</version>
  </dependency>
逆向工程驱动
代码语言:javascript
复制
<plugin>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-maven-plugin</artifactId>
    <version>1.3.2</version>
    <configuration>
        <verbose>true</verbose>
        <overwrite>true</overwrite>
    </configuration>
</plugin>

逆向工程配置文件

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
    <!--
targetRuntime: 执行生成的逆向工程的版本
    MyBatis3Simple: 生成基本的CRUD(简洁版)
    MyBatis3: 生成带条件的CRUD(终极版)
-->
<!--数据库本地jar包-->
    <classPathEntry location="D:\lib\mysql-connector-java-8.0.29.jar"/>
    <context id="DB2Tables" targetRuntime="MyBatis3Simple">
        <property name="javaFileEncoding" value="UTF-8"/>

        <!--suppressAllComments 设置为true 则不再生成注释-->
        <commentGenerator>
            <property name="suppressAllComments" value="true" />
        </commentGenerator>


        <!-- 数据库的连接信息 -->
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/boot"
                        userId="root"
                        password="root">
        </jdbcConnection>
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>

        <!-- javaBean : 数据库表对应的实体类-->
        <javaModelGenerator targetPackage="com.demo.pojo" targetProject=".\src\main\java">
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>

        <!-- SQL映射文件 : 与Mapper接口对应  -->
        <sqlMapGenerator targetPackage="com.demo.mapper" targetProject=".\src\main\resources">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>


        <!-- Mapper接口 :实现相关功能的接口 -->
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="com.demo.mapper" targetProject=".\src\main\java">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>

        <!-- 逆向工程的表 与 需要创建的类名 -->
        <!-- tableName 设置为*号,可以对应所有表,此时可以不写domainObjectName -->
        <!-- domainObjectName属性指定 生成出来的实体类的类名 -->
        <table tableName="employee" domainObjectName="employee"/>
    </context>
</generatorConfiguration>

通过generator:generate即可生成

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-01-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SpringBoot整合数据库
    • 配置数据库的信息
      • springBoot集成jdbc的所有属性方法(源码中JdbcTemplate类)
      • 配置信息
    • SpringBoot整合MyBatis
      • 连接信息及其相关依赖
      • 逆向工程驱动
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档