Spring mvc 是否可以将mybatis-config.xml转换为SpringMVC的类文件?
是否可以将mybatis-config.xml(文件类型为xml的sql映射配置)转换为java类文件 我尝试搜索,但只能找到映射器文件的类配置Spring mvc 是否可以将mybatis-config.xml转换为SpringMVC的类文件?,spring-mvc,mybatis,spring-mybatis,Spring Mvc,Mybatis,Spring Mybatis,是否可以将mybatis-config.xml(文件类型为xml的sql映射配置)转换为java类文件 我尝试搜索,但只能找到映射器文件的类配置 请通过课堂让我知道这是否真的可行?我不确定我是否理解你的问题,但请尝试以下方法: import org.apache.commons.dbcp.BasicDataSource; import org.apache.ibatis.mapping.Environment; import org.apache.ibatis.session.Configura
请通过课堂让我知道这是否真的可行?我不确定我是否理解你的问题,但请尝试以下方法:
import org.apache.commons.dbcp.BasicDataSource;
import org.apache.ibatis.mapping.Environment;
import org.apache.ibatis.session.Configuration;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.apache.ibatis.transaction.TransactionFactory;
import org.apache.ibatis.transaction.jdbc.JdbcTransactionFactory;
import org.apache.ibatis.type.TypeAliasRegistry;
public class MyBatisTest {
private SqlSessionFactory sqlSessionFactory;
private Configuration configuration;
private SqlSession sqlSession;
/**
* Call this method first
*/
public void configure() throws Exception {
DataSource ds = getDataSource();
Environment env = new Environment("env", new JdbcTransactionFactory(), ds);
configuration = new Configuration(env);
configureMappers();
sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration);
}
/**
* Configure data source
* @return
*/
public DataSource getDataSource() {
BasicDataSource dataSource = new BasicDataSource();
dataSource.setDriverClassName("driver.class.name");
dataSource.setUrl("jdbc:db_connection_string");
dataSource.setUsername("usr");
dataSource.setPassword("pass");
return dataSource;
}
/**
* Configure all mappers
*/
private void configureMappers() {
TypeAliasRegistry aliases = configuration.getTypeAliasRegistry();
aliases.registerAlias("myBean1Alias", MyBean1.class);
configuration.addMapper(MyMapper1.class);
// do the same for all bean and mapper classes
}
/**
* Get SqlSession object
* @return
*/
public SqlSession getSession() {
if (sqlSessionFactory == null) {
throw Exception("...");
}
sqlSession = sqlSessionFactory.openSession();
return sqlSession;
}
/**
* Close session
*/
public void closeSession() {
if (sqlSession != null) {
sqlSession.close();
}
}
public static void main(String[] args) {
MyBatisTest test = new MyBatisTest();
try {
test.configure();
SqlSession session = test.getSession();
// do work
MyMapper1 mapper = session.getMapper(MyMapper1.class);
// etc.
} catch (Exception e) {
//
} finally {
test.closeSession();
}
}
}
我不确定我是否理解你的问题,但试试这个:
import org.apache.commons.dbcp.BasicDataSource;
import org.apache.ibatis.mapping.Environment;
import org.apache.ibatis.session.Configuration;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.apache.ibatis.transaction.TransactionFactory;
import org.apache.ibatis.transaction.jdbc.JdbcTransactionFactory;
import org.apache.ibatis.type.TypeAliasRegistry;
public class MyBatisTest {
private SqlSessionFactory sqlSessionFactory;
private Configuration configuration;
private SqlSession sqlSession;
/**
* Call this method first
*/
public void configure() throws Exception {
DataSource ds = getDataSource();
Environment env = new Environment("env", new JdbcTransactionFactory(), ds);
configuration = new Configuration(env);
configureMappers();
sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration);
}
/**
* Configure data source
* @return
*/
public DataSource getDataSource() {
BasicDataSource dataSource = new BasicDataSource();
dataSource.setDriverClassName("driver.class.name");
dataSource.setUrl("jdbc:db_connection_string");
dataSource.setUsername("usr");
dataSource.setPassword("pass");
return dataSource;
}
/**
* Configure all mappers
*/
private void configureMappers() {
TypeAliasRegistry aliases = configuration.getTypeAliasRegistry();
aliases.registerAlias("myBean1Alias", MyBean1.class);
configuration.addMapper(MyMapper1.class);
// do the same for all bean and mapper classes
}
/**
* Get SqlSession object
* @return
*/
public SqlSession getSession() {
if (sqlSessionFactory == null) {
throw Exception("...");
}
sqlSession = sqlSessionFactory.openSession();
return sqlSession;
}
/**
* Close session
*/
public void closeSession() {
if (sqlSession != null) {
sqlSession.close();
}
}
public static void main(String[] args) {
MyBatisTest test = new MyBatisTest();
try {
test.configure();
SqlSession session = test.getSession();
// do work
MyMapper1 mapper = session.getMapper(MyMapper1.class);
// etc.
} catch (Exception e) {
//
} finally {
test.closeSession();
}
}
}
如果您将mybatis与spring boot一起使用,请试用,然后您可以在ConfigurationCustomizer中自定义自己的配置,如下所示:
// @Configuration class
@Bean
ConfigurationCustomizer mybatisConfigurationCustomizer() {
return new ConfigurationCustomizer() {
@Override
public void customize(Configuration configuration) {
// customize ...
}
};
}
如果您将mybatis与spring boot一起使用,请试用,然后您可以在ConfigurationCustomizer中自定义自己的配置,如下所示:
// @Configuration class
@Bean
ConfigurationCustomizer mybatisConfigurationCustomizer() {
return new ConfigurationCustomizer() {
@Override
public void customize(Configuration configuration) {
// customize ...
}
};
}
编辑了que-我在使用spring MVC编辑que-我在使用spring MVC