《Java Spring框架》通过Idea 整合Spring和Mybatis

1. Jar包下载

百度云下载:链接: https://pan.baidu.com/s/1sVUovsBfj8NWdthGIbyqGA 提取码: 8v3u 复制这段内容后打开百度网盘手机App,操作更方便哦

2 通过IDEA整合

第一步:新增项目

第二步:不通过Gradle也可以的,选好java 和 web 点击下一步。

第三步:取个名字

第四步:设置Gradle 和 JDK版本,当然没有gradle也不影响的。

第五步:新增lib文件,用于存放下载的jar包,也可以通过Gradle下载。

第六步:build.gradle文件 ,引入jar包。

group ‘ssm‘
version ‘1.0-SNAPSHOT‘

apply plugin: ‘java‘
apply plugin: ‘war‘

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: ‘junit‘, name: ‘junit‘, version: ‘4.12‘
    compile files(‘lib/c3p0-0.9.5.2.jar‘)
    compile files(‘lib/com.springsource.org.aopalliance-1.0.0.jar‘)
    compile files(‘lib/com.springsource.org.apache.commons.logging-1.1.1.jar‘)
    compile files(‘lib/com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar‘)
    compile files(‘lib/mchange-commons-java-0.2.11.jar‘)
    compile files(‘lib/mysql-connector-java-5.1.46-bin.jar‘)
    compile files(‘lib/ojdbc7.jar‘)
    compile files(‘lib/spring-aop-5.0.8.RELEASE.jar‘)
    compile files(‘lib/spring-aspects-5.0.8.RELEASE.jar‘)
    compile files(‘lib/spring-beans-5.0.8.RELEASE.jar‘)
    compile files(‘lib/spring-context-5.0.8.RELEASE.jar‘)
    compile files(‘lib/spring-core-5.0.8.RELEASE.jar‘)
    compile files(‘lib/spring-expression-5.0.8.RELEASE.jar‘)
    compile files(‘lib/spring-jdbc-5.0.8.RELEASE.jar‘)
    compile files(‘lib/spring-tx-5.0.8.RELEASE.jar‘)
    compile files(‘lib/mybatis-3.4.6.jar‘)
    compile files(‘lib/mybatis-spring-1.3.2.jar‘)
    compile group: ‘org.springframework‘, name: ‘spring-test‘, version: ‘5.0.8.RELEASE‘
}

跑了测试案例:

数据库表数据如下:

目录结构:

/**
 * 账户
 * @author hubt
 */
public class Account {
    private Integer id;
    private String name;
    private Double money;

    //转账金额
    private Double tranferMoney;
    public Double getTranferMoney() {
        return tranferMoney;
    }
    public void setTranferMoney(Double tranferMoney) {
        this.tranferMoney = tranferMoney;
    }
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Double getMoney() {
        return money;
    }
    public void setMoney(Double money) {
        this.money = money;
    }
}
import com.tao.bean.Account;

/**
 * 账户mapper接口
 * @author Joey
 *
 */
public interface AccountMapper {
    //操作数据库扣款和加款

    //扣款
    void subMoney(Account pay);

    //加款
    void addMoney(Account collect);
}
/**
 * 账户接口
 * @author hubt
 *
 */
public interface AccountService {

    //转账方法
    void updateTranferAccount();
}
import javax.annotation.Resource;

import com.tao.bean.Account;
import com.tao.mapper.AccountMapper;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

@Transactional(isolation= Isolation.DEFAULT, propagation= Propagation.REQUIRED, readOnly=false)
public class AccountServiceImpl implements AccountService {

    @Resource(name = "accountMapper")
    private AccountMapper mapper;

    @Override
    public void updateTranferAccount() {
        Double tranferMoney = 1000d;
        Account pay = new Account();
        pay.setId(1);
        pay.setTranferMoney(tranferMoney);
        //先扣款
        mapper.subMoney(pay);
        Account collect = new Account();
        collect.setId(2);
        collect.setTranferMoney(tranferMoney);
        //加款
        mapper.addMoney(collect);
    }
}
import javax.annotation.Resource;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import com.tao.service.AccountService;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class MapperTest {

    @Resource(name="accountService")
    private AccountService as;

    @Test
    public void Test1() {
        as.updateTranferAccount();
    }
}

配置文件:applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">

    <!-- 读取配置文件 -->
    <context:property-placeholder location="db.properties"/>

    <!-- 配置 dataSource -->
    <bean name="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="${jdbc.driverClass}"/>
        <property name="jdbcUrl" value="${jdbc.jdbcUrl}"/>
        <property name="user" value="${jdbc.user}"/>
        <property name="password" value="${jdbc.password}"/>
    </bean>

    <!-- mybatis -->
    <bean name="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="configLocation" value="classpath:sqlMapConfig.xml"/>
    </bean>

    <!-- mapper工厂 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.tao.mapper"/>
    </bean>

    <!-- service -->
    <bean name="accountService" class="com.tao.service.AccountServiceImpl"></bean>

    <!-- 需要事务核心管理器 -->
    <bean name="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    </bean>

    <!-- 开启注解事务 -->
    <tx:annotation-driven/>

</beans>

配置文件:db.properties

jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.jdbcUrl=jdbc:mysql://localhost:3306/work_db
jdbc.user=root
jdbc.password=hbt106887

sqlMapConfig.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">

  <configuration>
      <typeAliases>
          <package name="com.tao.bean"/>
      </typeAliases>
  </configuration>

运行结果:

总结:就这样的完美。

原文地址:https://www.cnblogs.com/jssj/p/12149540.html

时间: 2024-11-05 13:44:12

《Java Spring框架》通过Idea 整合Spring和Mybatis的相关文章

Spring 框架的概述以及Spring中基于XML的IOC配置

Spring 框架的概述以及Spring中基于XML的IOC配置 一.简介 Spring的两大核心:IOC(DI)与AOP,IOC是反转控制,DI依赖注入 特点:轻量级.依赖注入.面向切面编程.容器.框架.一站式 优势: 方便解耦:做到编译期不依赖,运行期才依赖 AOP的支持 声明式事务的支持 方便程序的测试 方便整合各种框架 降低JavaEE API的使用难度 Spring源码很厉害 解耦: 耦合包括:类之间的和方法之间的 解决的思路: 在创建对象的时候用反射来创建,而不是new 读取配置文件

搭建Spring + SpringMVC + Mybatis框架之三(整合Spring和Mybatis)

整合Spring和SpringMVC 之前已经整合了spring和mybatis,现在在此基础上整合SSM. 项目目录: 思路:SpringMVC的配置文件独立,然后在web.xml中配置整合. (1)配置spring-mvc.xml 主要是自动扫描控制器,视图模式. <?xml version="1.0" encoding="UTF-8"?> <beansxmlns="http://www.springframework.org/sch

搭建Spring + SpringMVC + Mybatis框架之三(整合Spring、Mybatis和Spring MVC)

目录 整合Spring和SpringMVC 整合Spring和SpringMVC 之前已经整合了spring和mybatis,现在在此基础上整合SSM.项目目录: 思路:SpringMVC的配置文件独立,然后在web.xml中配置整合. (1)配置spring-mvc.xml 主要是自动扫描控制器,视图模式. <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.s

Spring框架[一]——spring概念和ioc入门(ioc操作xml配置文件)

Spring概念 spring是开源的轻量级框架(即不需要依赖其他东西,可用直接使用) spring核心主要两部分 aop:面向切面编程,扩展功能不是修改源代码来实现: ioc:控制反转,比如:有一个类,在类中有个方法(非静态的方法),要调用类中的这个方法,则需要创建类的对象,使用对象调用方法.创建类对象的过程,需要new出来对象:而ioc则是将对象的创建不是通过new方式实现,而是交给spring配置来创建对象(即,将对象的创建交给spring来管理): spring是一站式框架 spring

[Java] SSH框架笔记_S2SH整合步骤

http://tech.ddvip.com/2009-09/1253783051134206.html http://www.blogjava.net/liu0909/archive/2009/07/21/287728.html 这两个地址都有详细的介绍!!!! 下面是复制第二个网址的内容: S2SH框架配置步骤 现在开发的一个项目使用S2SH框架,配置环境用了一两天,现在把当时配置环境时写的文档整理下发出来,也算加强点记忆. 1 开发环境 Ø         MyEclipse5.5 Ø   

Spring框架学习之--搭建spring框架

此文介绍搭建一个最最简单的spring框架的步骤 一.创建一个maven项目 二.在pom.xml文件中添加依赖导入spring框架运行需要的相关jar包 注意:在引入jar包之后会出现org.junit里面的包无法使用,参考https://blog.csdn.net/he99774/article/details/78254262 <dependencies> <!-- 框架运行时的基本依赖 --> <dependency> <groupId>junit&

手写Spring框架,加深对Spring工作机制的理解!

在我们的日常工作中,经常会用到Spring.Spring Boot.Spring Cloud.Struts.Mybatis.Hibernate等开源框架,有了这些框架的诞生,平时的开发工作量也是变得越来越轻松,我们用 Spring Boot 分分钟可以新建一个Web项目. 记得自己刚开始工作的时候还是在用Servlet写Web项目,自己写数据库连接池,用原生JDBC操作数据库,好了不发散了.回到这篇文章的主题,今天通过手写Spring框架,帮大家深入了解一下Spring的工作机制,文中涉及的代码

Spring框架(4)--Spring注解开发

Spring是轻代码而重配置的框架,配置比较繁重,影响开发效率,所以注解开发是一种趋势,注解代替核心配置文件中的依赖注入可以达到简化配置的效果,提高开发效率. 几个常用的原始注解: 创建对象的注解: 注解 说明 @Component 使用在类上,用于实例化Bean @Controller 使用在web层类上,用于实例化Bean @Service 使用在service层类上,用于实例化Bean @Repository 使用在dao层类上用于,实例化Bean 依赖注入的注解: 注解 说明 @Auto

Java 后台框架源码 springmvc spring mybatis SSM 有代码生成器

官网 http://www.fhadmin.org/A 调用摄像头拍照,自定义裁剪编辑头像,头像图片色度调节B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,快速开发利器)+快速表单构建器 freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类,service等完整模块C 集成阿里巴巴数据库连接池druid  数据库连接池  阿里巴巴的 druid.Druid在监控.可扩展性.稳定性和性能方面都有明显的优势D 集成安全权限框架shiro  S

分布式服务框架之Dubbo整合Spring项目(三)

spring-mvc.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframewor