maven项目 实现 spring mybatis 两个框架整合

1、maven项目

src
  main
    java java源文件
      resources 配置文件
        beans.xml spring配置文件

  

<?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:component-scan base-package="com.entity"/>
                        <!-- 引入配置文件 -->
                        <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
                        <property name="location" value="classpath:db.properties"/>
                        </bean>

                        <!-- 使用spring jdbc中的类建立数据源 -->
                        <bean id="ds" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
                        <property name="driverClassName" value="${db.driver}"/>
                        <property name="url" value="${db.url}"/>
                        <property name="username" value="${db.user}"/>
                        <property name="password" value="${db.password}"/>
                        </bean>
                        <!-- SqlSessionFactory -->
                        <bean id="sf" class="org.mybatis.spring.SqlSessionFactoryBean">
                        <property name="dataSource" ref="ds"/>
                        <!-- com.entity.Student 可以写 sutdent -->
                        <property name="typeAliasesPackage" value="com.entity"/>
                        <property name="mapperLocations" value="classpath:com/entity/mapper/*Mapper.xml"/>
                        </bean>
                        <!-- SqlSession -->
                        <bean id="session" class="org.mybatis.spring.SqlSessionTemplate">
                        <constructor-arg index="0" ref="sf" />
                        </bean>

                        <!--创建数据映射器,数据映射器必须为接口 -->
                        <!--
                        <bean id="ssm" class="org.mybatis.spring.mapper.MapperFactoryBean">
                        <property name="mapperInterface" value="com.entity.mapper.StudentMapper" />
                        <property name="sqlSessionFactory" ref="sf" />
                        </bean>
                        -->

                        <!-- 扫描mapper包 自动在spring中生成 xxxxMapper bean -->
                        <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
                        <property name="basePackage" value="com.entity.mapper"/>
                        <property name="sqlSessionFactoryBeanName" value="sf"/>
                        </bean>

                        <bean id="transactionManager"
                          class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
                        <property name="dataSource" ref="ds"/>
                        </bean>

                        <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
                        <property name = "dataSource" ref="ds"/>
                        </bean>

                        <tx:annotation-driven transaction-manager="transactionManager" />
                    </beans>

        db.properties 文件

          

            db.driver=com.mysql.jdbc.Driver
                    db.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=true
                    db.user=root
                    db.password=root(输入自己的mysql密码)

     

    test
      java 测试源文件

  pom.xml

    

<?xml version="1.0" encoding="UTF-8"?>
        <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
            <modelVersion>4.0.0</modelVersion>
            <groupId>com.fz</groupId>
            <artifactId>springmybatis</artifactId>
            <version>1.0</version>
            <packaging>jar</packaging>

            <properties>
            <java-version>1.7</java-version>
            <aspectj.version>1.6.11</aspectj.version>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
            <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
            </properties>

            <dependencies>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.12</version>
            </dependency>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>1.16.14</version>
            </dependency>

            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>4.3.6.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jdbc</artifactId>
                <version>4.3.6.RELEASE</version>
            </dependency>

            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>3.4.2</version>
            </dependency>
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis-spring</artifactId>
                <version>1.3.1</version>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.40</version>
            </dependency>

            </dependencies>
            <build>
            <finalName>${project.artifactId}</finalName>
            <sourceDirectory>src/main/java</sourceDirectory>
            <testSourceDirectory>src/test/java</testSourceDirectory>
            <resources>
                <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
                </resource>
                <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.xml</include>
                    <include>**/*.properties</include>
                </includes>
                </resource>
            </resources>
            <plugins>
                <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.3</version>
                <configuration>
                    <source>${java-version}</source>
                    <target>${java-version}</target>
                    <encoding>${project.build.sourceEncoding}</encoding>
                </configuration>
                </plugin>
                <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.12.4</version>
                <configuration>
                    <skipTests>true</skipTests>
                </configuration>
                </plugin>

            </plugins>
            </build>
        </project>

2、com.entity.Student 实体类

  

package com.entity;
    import lombok.Data;
    /**
     * Created by webrx on 2017/2/15 0015 11:40.
     */
    @Data
    public class Student {
        private int id;
        private String name;
        private String address;
    }

3、mybatis mapper接口 及mapper配置文件 路径:/src/main/java/com/entity/mapper/StudentMapper.java

  

package com.entity.mapper;

    import com.entity.Student;
    import org.apache.ibatis.annotations.Param;
    import org.apache.ibatis.annotations.Select;

    import java.util.List;

    /**
     * Created by webrx on 2017/2/15 0015 11:52.
     */
    public interface StudentMapper {
        @Select("select * from student where id = #{id}")
        public Student findById(int id);

        @Select("select * from student where 1=1 order by id desc")
        public List<Student> queryAll();

        public int insert(Student student);

        public int save(@Param("name") String name, @Param("address") String address);

        public int add(String name,String address);

        public List<Student> shows();

    }

mapper文件配置  文件路径:src/main/java/com/entity/mapper/StudentMapper.xml

  

<?xml version="1.0" encoding="UTF-8" ?>
        <!DOCTYPE mapper
            PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
        <mapper namespace="com.entity.mapper.StudentMapper">
            <insert id="insert" parameterType="student">
            insert into student values(null,#{name},#{address})
            </insert>

            <insert id="save" parameterType="string">
            insert into student values(null,#{name},#{address})
            </insert>

            <select id="shows" resultType="student">
            select * from student
            </select>

            <insert id="add" parameterType="string">
            insert into student values(null,#{0},#{1})
            </insert>
        </mapper>

4、测试主程序

  

import com.entity.Student;
    import com.entity.StudentDAO;
    import com.entity.mapper.StudentMapper;
    import com.entity.mapper.UserMapper;
    import org.junit.Test;
    import org.springframework.context.support.ClassPathXmlApplicationContext;

    import java.sql.SQLException;
    import java.util.List;
    import java.util.Map;

    /**
     * Created by webrx on 2017/2/15 0015 11:41.
     */
    public class Demo {

        @Test
        public void xx(){
        ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
        StudentMapper sm = ctx.getBean("studentMapper",StudentMapper.class);

        //sm.save("赵七","北京");
        sm.add("dd","zz111");

        //Student st = new Student();
        //st.setName("李四六");
        //st.setAddress("郑州文化路");
        //sm.insert(st);

        //System.out.println(sm.queryAll().size());
        System.out.println(sm.shows().size());
        ctx.close();
        }

        @Test
        public void cc(){
        ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");

        for(String s : ctx.getBeanDefinitionNames()){
            System.out.println(s);
        }

        System.out.println("----------------------------------------------------");
        StudentMapper sm = ctx.getBean("studentMapper",StudentMapper.class);
        for(Student st : sm.queryAll()){
            System.out.println(st.getName());
        }
        System.out.println("----------------------------------------------------");
        StudentDAO sdao = ctx.getBean("studentdao",StudentDAO.class);
        for(Student st : sdao.query()){
            System.out.println(st.getName());
        }
        System.out.println("----------------------------------------------------");
        System.out.println(sm==sdao.getSm());

        UserMapper um = ctx.getBean("userMapper",UserMapper.class);
        for(Map<String,Object> ss : um.query()){
            System.out.println(ss.get("name"));
        }
        ctx.close();
        }

        @Test
        public void aa(){
        ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
        StudentMapper sm = ctx.getBean("sm",StudentMapper.class);
        List<Student> sts = sm.queryAll();
        System.out.println(sts.size());
        for(Student s : sts){
            System.out.println(s.getAddress());
        }
        ctx.close();
        }

        @Test
        public void tt() throws SQLException {
        ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
        //SqlSessionFactory sf = ctx.getBean("sf",SqlSessionFactory.class);
        StudentDAO sd = ctx.getBean("studentdao",StudentDAO.class);

        Student myst = sd.queryById(8);
        System.out.println(myst.getName());
        System.out.println(myst.getAddress());

        System.out.println("------------------------");

        List<Student> sts = sd.query();
        for(Student s : sts){
            System.out.println(s.getName());
        }
        ctx.close();
        }
    }

  

时间: 2024-11-10 13:04:26

maven项目 实现 spring mybatis 两个框架整合的相关文章

spring+websocket整合(springMVC+spring+MyBatis即SSM框架和websocket技术的整合)

java-websocket的搭建非常之容易,没用框架的童鞋可以在这里下载撸主亲自调教好的java-websocket程序: Apach Tomcat 8.0.3+MyEclipse+maven+JDK1.7 spring4.0以后加入了对websocket技术的支持,撸主目前的项目用的是SSM(springMVC+spring+MyBatis)框架,所 以肯定要首选spring自带的websocket了,好,现在问题来了,撸主在网上各种狂搜猛找,拼凑了几个自称是spring websocket

Laravel 和 Spring Boot 两个框架比较创业篇(二:人工成本)

前面从开发效率比较了 Laravel 和 Spring Boot两个框架,见:Laravel 和 Spring Boot 两个框架比较创业篇(一:开发效率) ,这一篇打算比较一下人工成本. 本文说的人工成本是狭义的技术支出成本.当然人工成本不单纯是开发人员的人工成本,同时包含了团队协作管理.架构设计.运维等方面的人工(团队)成本. 本文从以下几个维度分析: 程序员 技术管理 程序员 相信这个是大家比较关注的维度,很好理解,就是要根据需求撸一套产品出来,无论是后端.前端.APP还是小程序.中台,都

手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版)【转】

一. 框架详情 Spring 是一个轻量级的Java开发框架,它是为了解决企业应用开发的复杂性而创建的.Spring的用途不仅限于服务器端的开发.从简单性.可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益. 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架. SpringMVC 属于SpringFrameWork的后续产品,分离了控制器.模型对象.分派器以及处理程序对象的角色,这种分离让它们更容易进行定制. MyBatis 是一个基于Ja

手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版)

SSM(Spring+SpringMVC+Mybatis),目前较为主流的企业级架构方案.标准的MVC设计模式,将整个系统划分为显示层.Controller层.Service层.Dao层四层,使用SpringMVC负责请求的转发和视图管理,Spring实现业务对象管理, MyBatis作为数据对象持久化引擎. 一. 框架详情 Spring 是一个轻量级的Java开发框架,它是为了解决企业应用开发的复杂性而创建的.Spring的用途不仅限于服务器端的开发.从简单性.可测试性和松耦合的角度而言,任何

手把手Maven搭建SpringMVC+Spring+MyBatis框架

SSM(Spring+SpringMVC+Mybatis),目前较为主流的企业级架构方案.标准的MVC设计模式,将整个系统划分为显示层.Controller层.Service层.Dao层四层,使用SpringMVC负责请求的转发和视图管理,Spring实现业务对象管理, MyBatis作为数据对象持久化引擎. 一. 框架详情 Spring 是一个轻量级的Java开发框架,它是为了解决企业应用开发的复杂性而创建的.Spring的用途不仅限于服务器端的开发.从简单性.可测试性和松耦合的角度而言,任何

集成代码生成器 单表 多表 树形表 一对多 springmvc spring mybatis SSM 后台框架

获取[下载地址]   QQ: 313596790   [免费支持更新] 三大数据库 mysql  oracle  sqlsever   更专业.更强悍.适合不同用户群体 [新录针对本系统的视频教程,手把手教开发一个模块,快速掌握本系统] A 集成代码生成器 [正反双向(单表.主表.明细表.树形表,开发利器)+快速构建表单; QQ:313596790 freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类,service等完整模块 B 集成阿里巴巴数据库连

Maven 搭建SpringMvc+Spring+Mybatis详细记录

总觉得,看比人写的总是那么好,每次搭建框架时都会找博客,找教程来跟着一步一步走,虽然很快搭建成功了,但是经常情况是我并不知道我干了什么,也不记得具体步骤,到底为什么要这么做,今天我详细记录了一下自己搭建的过程,并且尽量理解每一步干什么. SSM框架当下比较流行,我也是用这个框架来作为记录,尝试详细地记录下每一个步骤,学习,不要怕开头难. 一.创建一个新的Maven项目 1. new -> Maven -> Maven Project 选择webapp工程. 2.maven项目建好以后,工程目录

Spring+Spring MVC+MyBatis实现SSM框架整合详细教程【转】

关于Spring+SpringMVC+Mybatis 整合,见还有不少初学者一头雾水,于是写篇教程,初学者按部就班的来一次,可能就会少走不少弯路了. 一:框架介绍(啰嗦两句,可自行度娘) 1.1:Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来.它是为了解决企业应用开发的复杂性而创建的

【集成代码生成器】 单表 多表 树形表 一对多 springmvc spring mybatis SSM 后台框架

获取[下载地址]   [免费支持更新]三大数据库 mysql  oracle  sqlsever   更专业.更强悍.适合不同用户群体[新录针对本系统的视频教程,手把手教开发一个模块,快速掌握本系统] A 集成代码生成器 [正反双向(单表.主表.明细表.树形表,开发利器)+快速构建表单; freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类,service等完整模块B 集成阿里巴巴数据库连接池druid;  数据库连接池  阿里巴巴的 druid.Dr