MyBatis动态创建SqlSessionFactory

        //创建连接池
        DataSource dataSource = new PooledDataSource(
            "com.mysql.cj.jdbc.Driver",
            "jdbc:mysql://xxxx:xxxx/xxxxx?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false&rewriteBatchedStatements=true&allowMultiQueries=true",
            "xxxxx", "xxxxx");
        //事务
        TransactionFactory transactionFactory = new JdbcTransactionFactory();
        //创建环境
        Environment environment = new Environment("development", transactionFactory, dataSource);
        //创建配置
        Configuration configuration = new Configuration(environment);
        //开启驼峰规则
        configuration.setMapUnderscoreToCamelCase(true);
        configuration.setCallSettersOnNulls(true);

//        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration);

        SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
        bean.setDataSource(dataSource);
        bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/**/*.xml"));

        bean.getObject().getConfiguration().addInterceptor(new TenantInterceptor(new SystemConfig()));

        SqlSession session = bean.getObject().openSession();

        try {
            //statement:sql唯一标识(mapper.xml映射文件中的id标识)
            //parament:参数
            DdCsDdywMapper mapper = session.getMapper(DdCsDdywMapper.class);
            String user = mapper.selectDdyw("DCDZDGZ");
            System.out.println(user);
            //操作数据时,需要有提交操作
            session.commit();
        } finally {
            session.close();
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值