sprigBoot集成之集成mybatis框架

sprigBoot集成之集成mybatis框架


3、集成mybatis框架
官网:http://mybatis.org/spring/zh/
集成springboot插件: http://mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/
3.1 添加依赖

	<!--mybatis-springBoot 依赖-->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>2.1.0</version>
    </dependency>
    <!--mysql依赖-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.48</version>
    </dependency>


3.2 添加配置
​ 3.2.1 添加mybatis配置

  • 自动注入数据源
  • 创建sqlSessionFactory
  • 配置model类的别名
  • 解析映射文件 PathMatchingResourcePatterResolver获取Mapper文件的路径
import javax.sql.DataSource;
//mybatis的配置
@Configuration
@MapperScan("com.kp.myboot.**.dao")//扫描com.kp.myboot包下任意子包的中的dao的包 扫描映射文件和接口
public class MybatisConfig {
    @Autowired
    DataSource dataSource;
    @Bean
    public SqlSessionFactory sqlSessionFactory () throws Exception{
        //使用SqlSessionFactoryBean 管理数据源
        SqlSessionFactoryBean sqlSessonFactory = new SqlSessionFactoryBean();
        sqlSessonFactory.setDataSource(dataSource);
        //设置别名包
        sqlSessonFactory.setTypeAliasesPackage("com.kp.myboot.**.model");//扫描model

        PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
        // 设置映射文件所在的路径
        sqlSessonFactory.setMapperLocations(resolver.getResources("classpath*:**/sqlmap/*.xml"));

        return sqlSessonFactory.getObject();
    }
}

​ 3.2.2 添加数据源

#添加数据源
		spring.datasource.driver-class-name=com.mysql.jdbc.Driver
		spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test1212?characterEncoding=utf-8
		spring.datasource.username=root
		spring.datasource.password=root

​ 3.2.3 修改启动类

@SpringBootApplication(scanBasePackages = {"com.kp.myboot"})//默认设置也是扫描该包下子包
	public class MybootApplication {
	 public static void main(String[] args) {
		SpringApplication.run(MybootApplication.class, args);
			    }
			}

3.3 生成mybatis模块
参考官网:
http://mybatis.org/generator/
https://mp.baomidou.com/
3.3.1 添加自动生成代码的插件依赖

 <plugins>
    <!--mybatis自动代码插件-->
    <plugin>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-maven-plugin</artifactId>
        <version>1.3.7</version>
        <dependencies>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.48</version>
            </dependency>
        </dependencies>
    </plugin>
 </plugins>

3.3.2 修改自动生成代码的配置和mabatis的配置一致
3.4 编写服务类
3.4.1 在生成的代码中Mapper接口中,添加一个findAll的方法,并且提供sql语句
3.5.1 编写服务接口和实现类

@Service
			public class AutoCodeServiceImpl implements AutoCodeService {
	
			    @Autowired
			    private AutoCodeMapper autoCodeMapper;
	
			    @Override
			    public List<AutoCode> findAll() {
			        return autoCodeMapper.findAll();
			    }
			}

3.5.2 编写控制器,在接口文档中测试

			@RestController
			public class AutoCodeController {
			    @Autowired
			    private AutoCodeService autoCodeService;
	
			    @RequestMapping("/findAll")
			    public Object findAll(){
			        return autoCodeService.findAll();
			    }
			}

3.5 配置打包资源
如果打包没有拷贝资源文件,设置pom文件

		<!-- 打包时拷贝MyBatis的映射文件 -->
	    <resources>
	        <resource>
	            <directory>src/main/java</directory>
	            <includes>
	                <include>**/sqlmap/*.xml</include>
	            </includes>
	            <filtering>false</filtering>
	        </resource>
	        <resource>  
	            <directory>src/main/resources</directory>  
	                <includes> 
	                    <include>**/*.*</include>  
	                </includes> 
	                <filtering>true</filtering>  
	        </resource> 
	    </resources>

3.6 编译运行测试
http://localhost/findAll
3.7 声明式事务
配置类添加

@SpringBootApplication
@EnableTransactionManagement //如果mybatis中service实现类中加入事务注解,需要此处添加该注解service方法添加开启事务
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT,timeout=36000,rollbackFor=Exception.class)
深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
Spring Boot是一个用于构建Java应用程序的开发框架,它简化了Spring应用的开发过程并提供了更高效的开发体验。JPA(Java Persistence API)是Java持久化的标准化接口,用于操作数据库的ORM框架MyBatis Plus是一个轻量级的ORM框架,它简化了基于MyBatis的开发过程并提供了更多的功能扩展。 在Spring Boot中同时集成JPA和MyBatis Plus是完全可行的。这样做的好处是可以根据实际需求选择不同的持久化方式。对于简单的增删改查操作,使用JPA可以更快速地完成,而对于复杂的SQL查询和数据库操作,使用MyBatis Plus可以更加灵活地进行处理。 要实现同时集成JPA和MyBatis Plus,首先需要在项目的pom.xml中引入对应的依赖。对于JPA,可以添加Spring Data JPA的依赖;对于MyBatis Plus,可以添加MyBatis Plus的依赖。 接下来,需要配置数据源和相关的数据库连接信息。可以使用Spring Boot提供的自动配置机制来简化这个过程。通过在application.properties或application.yml文件中配置相应的属性,比如数据库的URL、用户名和密码,Spring Boot会自动根据配置来初始化和配置数据源。 然后,可以定义实体类和对应的数据访问接口(Repository)。对于JPA,可以使用@Entity注解来标识实体类,并通过继承JpaRepository接口来定义和实现CRUD操作。对于MyBatis Plus,可以使用@Table注解来标识实体类,并通过继承BaseMapper接口来定义和实现数据库操作。 最后,在Service或Controller层,可以根据具体需求来使用JPA或MyBatis Plus进行数据处理。对于JPA,可以通过自动注入对应的Repository来调用相关方法;对于MyBatis Plus,可以通过自动注入对应的Mapper来调用相关方法。 通过同时集成JPA和MyBatis Plus,可以在Spring Boot项目中灵活选择使用不同的持久化方式,以满足不同业务场景的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值