spring_mybatis 核心配置文件

spring_mybatis 核心配置文件:

package com.entor.config;

import com.alibaba.druid.pool.DruidDataSource;
import com.github.pagehelper.PageInterceptor;
import org.apache.ibatis.logging.stdout.StdOutImpl;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.TransactionManager;
import org.springframework.transaction.annotation.EnableTransactionManagement;

import javax.sql.DataSource;

@Configuration
/**
 * 指定扫描的接口包,相当于配置文件MapperScannerConfigurer类
 */
@MapperScan(basePackages = "com.entor.mapper")//指定扫描的接口包
@ComponentScan(basePackages = "com.entor")
@PropertySource(value = "classpath:db.properties")
@EnableTransactionManagement
public class SpringMybatisConfig {
    @Value("${entor.driver}")
    private String driver;
    @Value("${entor.url}")
    private String url;
    @Value("${entor.username}")
    private String username;
    @Value("${entor.password}")
    private String password;
    @Value("${entor.mapperLocations}")
    private String mapperLocations;
    @Value("${entor.typeAliasesPackage}")
    private String typeAliasesPackage;

    @Bean
    public DataSource dataSource(){
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setDriverClassName(driver);
        dataSource.setUrl(url);
        dataSource.setUsername(username);
        dataSource.setPassword(password);
        return dataSource;
    }
    @Bean
    public TransactionManager transactionManager(DataSource dataSource){
        return new DataSourceTransactionManager(dataSource);
    }
    @Bean
    public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws  Exception{
        SqlSessionFactoryBean bean = new SqlSessionFactoryBean();

        //设置数据源
        bean.setDataSource(dataSource);
        PathMatchingResourcePatternResolver patternResolver = new PathMatchingResourcePatternResolver();
        //加载orm映射文件
       bean.setMapperLocations(patternResolver.getResources(mapperLocations));
        //配置别名包
        bean.setTypeAliasesPackage(typeAliasesPackage);
        //配置参数类型,封装各种参数配置类型
        org.apache.ibatis.session.Configuration config = new org.apache.ibatis.session.Configuration();
        //下划线转驼峰
        config.setMapUnderscoreToCamelCase(true);
        //开控制台sql输出
        config.setLogImpl(StdOutImpl.class);
        //开启二级缓存
        config.setCacheEnabled(true);

        //设置参数封装对象类型
        bean.setConfiguration(config);
        //设置分页插件
        bean.setPlugins(new PageInterceptor());
        return bean.getObject();
    }
}

增删改查测试代码

package com.entor.test;

import com.entor.config.SpringMybatisConfig;
import com.entor.entity.User;
import com.entor.service.UserService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

import java.util.ArrayList;
import java.util.Date;

public class Test {
    public static void main(String[] args) {
        ApplicationContext context = new AnnotationConfigApplicationContext(SpringMybatisConfig.class);
        UserService userService = context.getBean(UserService.class);

        /**
         * 查询测试
         */
//        System.out.println(userService.queryById(1001));

        /**
         * 删除测试
         */
//        userService.deleteById(120);

//        userService.deleteByIds("49,50,51");

        /**
         * 分页查询测试
         */
       /* User user = userService.queryById(52);
        List<User> users = userService.queryByPage(1, 10);
        users.forEach(System.out::println);*/


        /**
         * 新增测试
         */
/*
        User user = new User();
        user.setName("李华12");
        user.setUsername("lihua12");
        user.setPassword("123456");
        user.setSex(0);
        user.setAge(20);
        user.setBirthday(new Date());
        userService.add(user);*/

        /**
         * 更新测试
         */
        /*User user = new User();
        user.setId(10725);
        user.setName("李华12");
        user.setUsername("lihua12");
        user.setPassword("999999");
        user.setSex(0);
        user.setAge(21);
        user.setBirthday(new Date());
        userService.update(user);*/


        /**
         * 批量新增测试
         */
        ArrayList<User> list = new ArrayList<>();
        for (int i=1;i<10;i++){
            User user = new User();
            user.setName("赵露思");
            user.setUsername("zhaolusi");
            user.setPassword("999999");
            user.setSex(1);
            user.setAge(20);
            user.setBirthday(new Date());
            list.add(user);
        }
        userService.addMore(list);
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,在 Spring Boot 项目中集成 MyBatis 需要引入以下依赖: ```xml <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.3</version> </dependency> ``` 接下来,需要在 `application.properties` 或 `application.yml` 中配置数据源信息,比如: ```yaml spring.datasource.url=jdbc:mysql://localhost:3306/mydb spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.jdbc.Driver ``` 同时,需要在 `resources` 目录下创建 `mybatis-config.xml` 文件,用于配置 MyBatis: ```xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <settings> <setting name="cacheEnabled" value="true"/> <setting name="lazyLoadingEnabled" value="true"/> <setting name="multipleResultSetsEnabled" value="true"/> <setting name="useColumnLabel" value="true"/> <setting name="useGeneratedKeys" value="false"/> <setting name="autoMappingBehavior" value="PARTIAL"/> <setting name="autoMappingUnknownColumnBehavior" value="WARNING"/> <setting name="defaultExecutorType" value="SIMPLE"/> <setting name="defaultStatementTimeout" value="25000"/> <setting name="defaultFetchSize" value="100"/> </settings> <typeAliases> <!-- 配置实体类别名 --> <typeAlias type="com.example.demo.entity.User" alias="User"/> </typeAliases> <mappers> <!-- 配置 Mapper.xml 文件 --> <mapper resource="mapper/UserMapper.xml"/> </mappers> </configuration> ``` 其中,`typeAliases` 标签用于配置实体类别名,`mappers` 标签用于配置 MyBatis 映射文件。 最后,在 Mapper 接口中使用 `@Mapper` 注解,告诉 Spring Boot 这是一个 Mapper 接口,比如: ```java @Mapper public interface UserMapper { User selectByPrimaryKey(Integer id); } ``` 这样就完成了 Spring Boot 集成 MyBatis核心配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值