郑州网站推广招聘,网站的项目建设周期,怎么自己制作软件app,网站购物功能如何做Spring与Mybatis的整合#xff0c;大体需要做两件事#xff0c;
第一件事是:Spring要管理MyBatis中的SqlSessionFactory
第二件事是:Spring要管理Mapper接口的扫描
具体的步骤为:
步骤1:项目中导入整合需要的jar包 dependency!--Spring操作数据库需要该jar包…Spring与Mybatis的整合大体需要做两件事
第一件事是:Spring要管理MyBatis中的SqlSessionFactory
第二件事是:Spring要管理Mapper接口的扫描
具体的步骤为:
步骤1:项目中导入整合需要的jar包 dependency!--Spring操作数据库需要该jar包--groupIdorg.springframework/groupIdartifactIdspring-jdbc/artifactIdversion5.2.10.RELEASE/version
/dependency
dependency!--Spring与Mybatis整合的jar包这个jar包mybatis在前面是Mybatis提供的--groupIdorg.mybatis/groupIdartifactIdmybatis-spring/artifactIdversion1.3.0/version
/dependency 步骤2:创建Spring的主配置类 //配置类注解
Configuration
//包扫描主要扫描的是项目中的AccountServiceImpl类
ComponentScan(com.fly)
public class SpringConfig {
}
步骤3:创建数据源的配置类 在配置类中完成数据源的创建 public class JdbcConfig {Value(${jdbc.driver})private String driver;Value(${jdbc.url})private String url;Value(${jdbc.username})private String userName;Value(${jdbc.password})private String password;
Beanpublic DataSource dataSource(){DruidDataSource ds new DruidDataSource();ds.setDriverClassName(driver);ds.setUrl(url);ds.setUsername(userName);ds.setPassword(password);return ds;}
} 步骤4:主配置类中读properties并引入数据源配置类 Configuration
ComponentScan(com.fly)
PropertySource(classpath:jdbc.properties)
Import(JdbcConfig.class)
public class SpringConfig {
}
步骤5:创建Mybatis配置类并配置SqlSessionFactory
public class MybatisConfig {//定义beanSqlSessionFactoryBean用于产生SqlSessionFactory对象Beanpublic SqlSessionFactoryBean sqlSessionFactory(DataSource dataSource){SqlSessionFactoryBean ssfb new SqlSessionFactoryBean();//设置模型类的别名扫描ssfb.setTypeAliasesPackage(com.fly.domain);//设置数据源ssfb.setDataSource(dataSource);return ssfb;}//定义bean返回MapperScannerConfigurer对象Beanpublic MapperScannerConfigurer mapperScannerConfigurer(){MapperScannerConfigurer msc new MapperScannerConfigurer();msc.setBasePackage(com.fly.dao);return msc;}
}
说明: 使用SqlSessionFactoryBean封装SqlSessionFactory需要的环境信息 SqlSessionFactoryBean是FactoryBean的一个子类在该类中将SqlSessionFactory的创建进行了封装简化对象的创建我们只需要将其需要的内容设置即可。 方法中有一个参数为dataSource,当前Spring容器中已经创建了Druid数据源类型刚好是DataSource类型此时在初始化SqlSessionFactoryBean这个对象的时候发现需要使用DataSource对象而容器中刚好有这么一个对象就自动加载了DruidDataSource对象。 使用MapperScannerConfigurer加载Dao接口创建代理对象保存到IOC容器中 这个MapperScannerConfigurer对象也是MyBatis提供的专用于整合的jar包中的类用来处理原始配置文件中的mappers相关配置加载数据层的Mapper接口类 MapperScannerConfigurer有一个核心属性basePackage就是用来设置所扫描的包路径 步骤6:主配置类中引入Mybatis配置类 Configuration
ComponentScan(com.fly)
PropertySource(classpath:jdbc.properties)
Import({JdbcConfig.class,MybatisConfig.class})
public class SpringConfig {
} 步骤7:编写运行类
在运行类中从IOC容器中获取Service对象调用方法获取结果 public class App2 {public static void main(String[] args) {ApplicationContext ctx new AnnotationConfigApplicationContext(SpringConfig.class);
AccountService accountService ctx.getBean(AccountService.class);
Account ac accountService.findById(1);System.out.println(ac);}
}
步骤8:运行程序 支持Spring与Mybatis的整合就已经完成了其中主要用到的两个类分别是: SqlSessionFactoryBean MapperScannerConfigurer