mybatis环境搭建(eclipse,idea)

基于java配置SSM,eclipse

新建maven,web项目

....

项目结构:

1250855-20190819163332846-1746435826.png

jar包

pom.xml

spring和DispatcherServlet上下文

  public class DemoWebApplicationInitializer
    extends AbstractAnnotationConfigDispatcherServletInitializer  {
    @Override
    protected Class<?>[] getRootConfigClasses() {
        // TODO Auto-generated method stub
        return new Class<?>[] {RootConfig.class};
    }
    @Override
    protected Class<?>[] getServletConfigClasses() {
        // TODO Auto-generated method stub
        return new Class<?>[] {WebConfig.class};
    }
    @Override
    protected String[] getServletMappings() {
        // TODO Auto-generated method stub
        return new String[] {"/"};
    }
  }

DispatcherServlet

  @Configuration
  @EnableWebMvc
  @ComponentScan(basePackages = {"com.getword.controller"})
  public class WebConfig extends WebMvcConfigurerAdapter {
    @Bean
    public ViewResolver viewResolver() {
        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/WEB-INF/views/");
        resolver.setSuffix(".jsp");
        resolver.setExposeContextBeansAsAttributes(true);
        return resolver;
    }
    /**
     * 静态资源
     */
    @Override
    public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
        // TODO Auto-generated method stub
        configurer.enable();
    }
  }

spring 上下文

  @Configuration
  @ComponentScan(basePackages = {"com.getword"},
        excludeFilters = {@Filter(type = FilterType.ANNOTATION, value = EnableWebMvc.class)})
  @Import(DataSourceConfig.class)
  public class RootConfig {
    @Bean
    public BeanNameAutoProxyCreator autoProxyCreator() {
        BeanNameAutoProxyCreator autoProxyCreator = new BeanNameAutoProxyCreator();
        autoProxyCreator.setProxyTargetClass(true);
        // 设置要创建代理的那些Bean的名字
        autoProxyCreator.setBeanNames("*Service");
        autoProxyCreator.setInterceptorNames("transactionInterceptor");
        return autoProxyCreator;
    }
  }

DataSourceConfig

  @Configuration
  @MapperScan("com.getword.dao")
  public class DataSourceConfig {
    private final static Logger LOG = Logger.getLogger(DataSourceConfig.class);
    private String driver = "com.mysql.jdbc.Driver";;
    private String url = "jdbc:mysql://localhost:3306/spring?characterEncoding=UTF-8&serverTimezone=UTC";
    private String username = "root";
    private String password = "123";
    @Bean
    public BasicDataSource dataSource() {
        LOG.info("Initialize the BasicDataSource...");
        BasicDataSource dataSource = new BasicDataSource();
        dataSource.setDriverClassName(driver);
        dataSource.setUrl(url);
        dataSource.setUsername(username);
        dataSource.setPassword(password);
        return dataSource;
    }
    // mybatis的配置
    @Bean
    public SqlSessionFactoryBean sqlSessionFactoryBean() throws IOException {
        ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver();
        SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
        sqlSessionFactoryBean.setDataSource(dataSource());
        sqlSessionFactoryBean.setMapperLocations(resourcePatternResolver.getResources("classpath*:mappers/*.xml"));
        sqlSessionFactoryBean.setTypeAliasesPackage("com.getword.domain");// 别名,让*Mpper.xml实体类映射可以不加上具体包名
        return sqlSessionFactoryBean;
    }
  
    // 事务管理器 对mybatis操作数据库事务控制,spring使用jdbc的事务控制类
    @Bean(name = "transactionManager")
    public DataSourceTransactionManager dataSourceTransactionManager() {
        DataSourceTransactionManager dataSourceTransactionManager = new DataSourceTransactionManager();
        dataSourceTransactionManager.setDataSource(dataSource());
        return dataSourceTransactionManager;
    }
  
    @Bean(name = "transactionInterceptor")
    public TransactionInterceptor interceptor() {
        TransactionInterceptor interceptor = new TransactionInterceptor();
        interceptor.setTransactionManager(dataSourceTransactionManager());
        Properties transactionAttributes = new Properties();
        transactionAttributes.setProperty("save*", "PROPAGATION_REQUIRED");
        transactionAttributes.setProperty("del*", "PROPAGATION_REQUIRED");
        transactionAttributes.setProperty("update*", "PROPAGATION_REQUIRED");
        transactionAttributes.setProperty("get*", "PROPAGATION_REQUIRED,readOnly");
        transactionAttributes.setProperty("find*", "PROPAGATION_REQUIRED,readOnly");
        transactionAttributes.setProperty("*", "PROPAGATION_REQUIRED");
        interceptor.setTransactionAttributes(transactionAttributes);
        return interceptor;
    }
  }

注意:mapper的命名空间必须和对应的接口的全路径一致!!!

idea,从maven简单java项目转web项目

新建maven项目

  1. 新建maven项目

1250855-20190819163400847-2092553825.png

  1. 填写group id和artifictId,next

1250855-20190819163522392-1008079704.png

  1. 输入项目名称,finish
  2. 配置maven,次步骤最后在新建项目之前
  3. 1250855-20190819163722381-1923061362.png

项目结果如下:

1250855-20190819163817287-875344901.png

添加web模块

  1. 项目结构->Modules->add->web

1250855-20190819164610682-908751136.png

  1. 删除web.xml

1250855-20190819164718982-598805534.png

  1. 设置web项目根路径

1250855-20190819164844317-1740600229.png

  • 添加artifact

1250855-20190819171643219-1833564188.png

  1. 配置Tomcat
  2. 此时项目结构

1250855-20190819171547498-1825423205.png

此时可以访问webapp下的静态文件了

  1. jar包,pom.xml

pom.xml

注意:使用maven时也要添加servlet依赖,注意作用域。此时可以使用servlet了

spring配置

同eclipse。

源码附件

ssm基本配置

转载于:https://www.cnblogs.com/zhuxiang1633/p/11356819.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MyBatis一个流行的Java持久化框架,可以将SQL语句与Java对象映射起来。以下是搭MyBatis环境的一般步骤: 1. 首先,确保你的Java环境已经安装并配置好了。 2. 下载MyBatis的jar包。你可以从官方网站(https://github.com/mybatis/mybatis-3/releases)或者Maven仓库中获取最新的版本。 3. 创一个Java项目,可以使用你喜欢的IDE,如Eclipse或IntelliJ IDEA。 4. 在项目中,创一个lib文件夹,并将下载好的MyBatis jar包复制到该文件夹下。 5. 导入MyBatis jar包到项目的构路径中。这一步可以通过在IDE中右键点击jar包,选择"Build Path"或"Add to Classpath"来完成。 6. 创一个MyBatis的配置文件,例如`mybatis-config.xml`。在该配置文件中,你可以定义数据库连接信息、映射文件的位置等。 7. 在配置文件中配置数据源。你可以使用MyBatis提供的`dataSource`标签,或者整合其他的数据源,如Spring的`DataSource`。 8. 创一个映射文件(Mapper),用于定义SQL语句与Java对象之间的映射关系。映射文件通常以`.xml`为后缀,放置在项目的某个目录下,例如`src/main/resources/mappers`。 9. 在映射文件中,使用`select`、`insert`、`update`等标签定义SQL语句,并指定对应的Java对象。 10. 在Java代码中,使用MyBatis的API来执行SQL语句。可以使用`SqlSessionFactoryBuilder`类来构`SqlSessionFactory`实例,然后通过该实例获取`SqlSession`对象来执行SQL语句。 以上是一般的MyBatis环境搭建步骤,具体的配置和使用方式可以根据项目的需求和情况进行调整。希望能对你有所帮助!如果有任何问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值