整合项目mybatis

*1. 添加依赖

mybatis和·mysql依赖

<dependency>       
<groupId>org.mybatis.spring.boot</groupId>     
 <artifactId>mybatis-spring-boot-starter</artifactId>      
 <version>2.3.1</version>    
</dependency>     
​
<dependency>     
<groupId>com.mysql</groupId>        
<artifactId>mysql-connector-j</artifactId>        
 <scope>runtime</scope>     
</dependency>

*2. 配置数据源

spring.datasource.url=jdbc:mysql://192.168.200.100:3306/demo
​
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
​
spring.datasource.username=root
​
spring.datasource.password=123456

#数据源类型:

spring.datasource.type=com.zaxxer.hikari.HikariDataSource

安装MyBatisX 插件,帮我们生成Mapper接口的xml文件即可

*3. 配置MyBatis的配置

#指定mapper映射文件位置:

**mybatis.mapper-locations****=classpath:/mapper/\*.xml**

#参数项调整,开启驼峰命名法:

mybatis.configuration.map-underscore-to-camel-case=true

配合@MapperScan(basePackage="mapper包的路径名")完成对持久化层操作。

4. CRUD编写

●编写Bean

●编写Mapper

●使用mybatisx插件,快速生成MapperXML

●测试CRUD


------------------------------

5. 自动配置原理

SSM整合总结:

1.导入 mybatis-spring-boot-starter。
2.配置数据源信息。
3.配置mybatis的mapper接口扫描与xml映射文件扫描。

4.编写bean,mapper,生成xml,编写sql 进行crud。事务等操作依然和Spring中用法一样。

5.效果:

    1. 所有sql写在xml中

    2. 所有mybatis配置写在application.properties下面

  • jdbc场景的自动配置:

    • mybatis-spring-boot-starter导入 spring-boot-starter-jdbc,jdbc是操作数据库的场景

    • Jdbc场景的几个自动配置

      • org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration

        • 数据源的自动配置

        • 所有和数据源有关的配置都绑定在DataSourceProperties

        • 默认使用 HikariDataSource

      • org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration

        • 给容器中放了JdbcTemplate操作数据库

      • org.springframework.boot.autoconfigure.jdbc.JndiDataSourceAutoConfiguration

      • org.springframework.boot.autoconfigure.jdbc.XADataSourceAutoConfiguration

        • 基于XA二阶提交协议的分布式事务数据源

      • org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration

        • 支持事务

    • 具有的底层能力:数据源、JdbcTemplate、事务

  • MyBatisAutoConfiguration**:配置了MyBatis的整合流程**

    • mybatis-spring-boot-starter导入 mybatis-spring-boot-autoconfigure(mybatis的自动配置包),

    • 默认加载两个自动配置类:

      • org.mybatis.spring.boot.autoconfigure.MybatisLanguageDriverAutoConfiguration

      • org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration

        • 必须在数据源配置好之后才配置

        • 给容器中SqlSessionFactory组件。创建和数据库的一次会话

        • 给容器中SqlSessionTemplate组件。操作数据库。

    • MyBatis的所有配置绑定在**MybatisProperties**

    • 每个Mapper接口代理对象是怎么创建放到容器中。详见@MapperScan原理:

      • 利用@Import(MapperScannerRegistrar.class)批量给容器中注册组件。解析指定的包路径里面的每一个类,为每一个Mapper接口类,创建Bean定义信息,注册到容器中。

如何分析哪个场景导入以后,开启了哪些自动配置类。

:classpath:/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports文件中配置的所有值,就是要开启的自动配置类,但是每个类可能有条件注解,基于条件注解判断哪个自动配置类生效了。

6. 快速定位生效 debug**=true**

#开启调试模式,详细打印开启了哪些自动配置

debug=true

#Positive(生效的自动配置) Negative(不生效的自动配置)

7. 扩展:整合其他数据源

1.Druid 数据源

暂不支持 SpringBoot3

  • 导入druid-starter

  • 写配置

  • 分析自动配置了哪些东西,怎么用

Druid官网:GitHub - alibaba/druid: 阿里云计算平台DataWorks(https://help.aliyun.com/document_detail/137663.html) 团队出品,为监控而生的数据库连接池

#数据源基本配置

spring.datasource.url=jdbc:mysql://192.168.200.100:3306/demo
​
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
​
spring.datasource.username=root
​
spring.datasource.password=123456
​
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

# 配置StatFilter监控

spring.datasource.druid.filter.stat.enabled=true
​
spring.datasource.druid.filter.stat.db-type=mysql
​
spring.datasource.druid.filter.stat.log-slow-sql=true
​
spring.datasource.druid.filter.stat.slow-sql-millis=2000

# 配置WallFilter防火墙

spring.datasource.druid.filter.wall.enabled=true
​
spring.datasource.druid.filter.wall.db-type=mysql
​
spring.datasource.druid.filter.wall.config.delete-allow=false
​
spring.datasource.druid.filter.wall.config.drop-table-allow=false

# 配置监控页,内置监控页面的首页是 /druid/index.html

spring.datasource.druid.stat-view-servlet.enabled=true
​
spring.datasource.druid.stat-view-servlet.login-username=admin
​
spring.datasource.druid.stat-view-servlet.login-password=admin
​
spring.datasource.druid.stat-view-servlet.allow=*

# 其他 Filter 配置不再演示

# 目前为以下 Filter 提供了配置支持,请参考文档或者根据IDE提示(spring.datasource.druid.filter.*)进行配置。

# StatFilter

# WallFilter

# ConfigFilter

# EncodingConvertFilter

# Slf4jLogFilter

# Log4jFilter

# Log4j2Filter

# CommonsLogFilter

附录:示例数据库

CREATE TABLE `t_user` (  `id`    BIGINT(20)   NOT NULL AUTO_INCREMENT COMMENT '编号',    `login_name` VARCHAR(200) NULL DEFAULT NULL COMMENT '用户名称' COLLATE 'utf8_general_ci',    `nick_name`  VARCHAR(200) NULL DEFAULT NULL COMMENT '用户昵称' COLLATE 'utf8_general_ci',    `passwd`     VARCHAR(200) NULL DEFAULT NULL COMMENT '用户密码' COLLATE 'utf8_general_ci',    PRIMARY KEY (`id`) ); insert into t_user(login_name, nick_name, passwd) VALUES ('zhangsan','张三','123456');

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: JavaFX是一个基于Java的图形化用户界面框架,而MyBatis是一个Java持久化框架。将JavaFX项目整合MyBatis,可以实现数据持久化以及与数据库的交互。 首先,我们需要在JavaFX项目中引入MyBatis的依赖库。可以通过Maven或Gradle将MyBatis添加到项目的依赖中,确保可以在项目中使用MyBatis的功能。 接下来,我们需要配置MyBatis的相关配置文件。在项目的资源文件夹中,创建一个名为mybatis-config.xml的文件。在该文件中,我们可以配置数据库连接信息、Mapper映射文件的路径、加载插件等。可以参考MyBatis的官方文档来了解如何正确配置。 然后,在JavaFX项目中创建和管理数据库连接的类。可以使用MyBatis提供的DataSource或直接使用JDBC来连接数据库。在这个类中,可以加载MyBatis的配置文件,并创建一个全局的SqlSessionFactory对象,用于创建SqlSession。 接下来,我们需要编写Mapper接口和对应的Mapper映射文件。Mapper接口定义了对数据库进行操作的方法,而Mapper映射文件则定义了SQL语句和参数的映射关系。通过使用MyBatis的注解或XML配置的方式,将Mapper接口和Mapper映射文件进行关联。 最后,在JavaFX项目中通过调用SqlSession对象的方法来执行数据库操作。根据Mapper接口的定义,可以直接调用对应的方法来进行数据库查询、插入、更新等操作。MyBatis会自动将Java对象和数据库的记录进行映射,简化了数据库操作的代码。 总结起来,将JavaFX项目整合MyBatis,需要引入MyBatis的依赖库,配置MyBatis的配置文件,创建和管理数据库连接的类,编写Mapper接口和对应的映射文件,最后通过调用SqlSession对象的方法来执行数据库操作。这样,就实现了JavaFX项目与数据库的整合,实现了数据的持久化和交互。 ### 回答2: JavaFX项目整合MyBatis可以通过以下几个步骤完成: 1. 导入相关依赖:首先,在项目的pom.xml文件中添加MyBatis和JavaFX相关的依赖。可以使用Maven来管理依赖。在<dependencies>标签中添加如下依赖: ``` <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.7</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>2.0.6</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-typehandlers-jsr310</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-controls</artifactId> <version>11.0.2</version> </dependency> ``` 2. 配置MyBatis:在项目中创建一个mybatis-config.xml文件,并在文件中配置MyBatis的相关信息,如数据库连接信息、映射文件路径等。可以使用MyBatis提供的MapperScannerConfigurer来自动扫描并注册Mapper接口。 3. 创建数据访问对象(DAO):在项目中创建对应的数据访问对象接口,使用MyBatis的注解或XML文件来编写SQL语句。可以使用@Mapper注解来标识接口为Mapper接口,使用@Select、@Insert等注解来编写SQL语句。 4. 注入数据访问对象:在JavaFX的Controller类中通过@Autowired或@Resource注解将DAO对象注入到Controller中。 5. 在JavaFX中使用MyBatis:在JavaFX的界面交互逻辑中,通过调用注入的数据访问对象的方法来进行数据库操作,如查询数据、插入数据等。 综上所述,整合JavaFX项目MyBatis主要需要导入相关依赖、配置MyBatis、创建数据访问对象接口、注入数据访问对象,并在JavaFX中调用数据访问对象来完成数据库操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值