//创建连接池
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();
}
MyBatis动态创建SqlSessionFactory
于 2023-09-06 16:11:44 首次发布