springMVC+MyBatis+Spring+maven 整合(1)

1.首先第一步.部署mybatis ;

1.1 下载myBatis 

MyBits前身是iBitis,相对于Hibernate而言,它是半自动化ORM框架。由于老板对性能要求的比较苛刻,不得不放弃我亲愛的hibernate,转而学习并使用mybatis,在此之前我对mybatis也并不熟悉,如有不对的地方,欢迎指正,也希望对想学习mybitis的同窗们有所幫助。
       鉴于我的测试数据库是mysql,同仁们现在把mysql装好,然后准备好mysql驱动以及 下载mybitis(
http://code.google.com/p/mybatis/)。 

我用的是maven. 就直接在pom 文件里面写了.

 

<dependencies>
         
        <!-- db -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.2.5</version>
        </dependency>
         
         
        <!-- 加入mysql驱动依赖包 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.25</version>
</dependency>

2.新建数据表

DROP TABLE IF EXISTS `t_test`;
CREATE TABLE `t_test` (
  `id` int(11) NOT NULL,
  `userName` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- -
-- Records of t_test
-- -
INSERT INTO `t_test` VALUES ('1', '2');

3.用mybatis-generator 自动生成代码

 创建一个配置文件,如conf.xml,此处文件名自己命名,没有命名方面的特殊要求, 可以参考doc文档里的配置文件写的,我的如下

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
    <!-- 数据库驱动包位置 -->
    <!-- <classPathEntry location="D:\software\lib\mysql-connector-java-5.1.21.jar" /> -->
    <classPathEntry location="E:\data\.m2\repository\mysql\mysql-connector-java\5.1.25\mysql-connector-java-5.1.25.jar" />
    <context id="DB2Tables" targetRuntime="MyBatis3">
        <commentGenerator>
            <property name="suppressAllComments" value="true" />
        </commentGenerator>
        <!-- 数据库链接URL、用户名、密码 -->
         <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/c_sai" userId="root" password=""> 
        <!--<jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver" connectionURL="jdbc:oracle:thin:@localhost:1521:orcl" userId="msa" password="msa">-->
        </jdbcConnection>
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>
        <!-- 生成模型的包名和位置 -->
        <javaModelGenerator targetPackage="com.test.model" targetProject="F:\source">
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>
        <!-- 生成的映射文件包名和位置 -->
        <sqlMapGenerator targetPackage="com.test.mapping" targetProject="F:\source">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>
        <!-- 生成DAO的包名和位置 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.test.dao" targetProject="F:\source">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>
        <!-- 要生成那些表(更改tableName和domainObjectName就可以) -->
        <table tableName="t_test" domainObjectName="TTest" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> 
    </context>
</generatorConfiguration>

 执行jar 文件

E:\data\Users\Administrator\Downloads\generator> java -jar mybatis-generator-cor
e-1.3.2.jar -configfile  generator.xml -overwrite
MyBatis Generator finished successfully.

 生成代码如下

package com.test.model;

public class TTest {
    private Integer id;

    private String username;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username == null ? null : username.trim();
    }
}

 

package com.test.dao;

import com.test.model.TTest;

public interface TTestMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(TTest record);

    int insertSelective(TTest record);

    TTest selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(TTest record);

    int updateByPrimaryKey(TTest record);
}

 

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.test.dao.TTestMapper" >
  <resultMap id="BaseResultMap" type="com.test.model.TTest" >
    <id column="id" property="id" jdbcType="INTEGER" />
    <result column="userName" property="username" jdbcType="VARCHAR" />
  </resultMap>
  <sql id="Base_Column_List" >
    id, userName
  </sql>
  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
    select 
    <include refid="Base_Column_List" />
    from t_test
    where id = #{id,jdbcType=INTEGER}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
    delete from t_test
    where id = #{id,jdbcType=INTEGER}
  </delete>
  <insert id="insert" parameterType="com.test.model.TTest" >
    insert into t_test (id, userName)
    values (#{id,jdbcType=INTEGER}, #{username,jdbcType=VARCHAR})
  </insert>
  <insert id="insertSelective" parameterType="com.test.model.TTest" >
    insert into t_test
    <trim prefix="(" suffix=")" suffixOverrides="," >
      <if test="id != null" >
        id,
      </if>
      <if test="username != null" >
        userName,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides="," >
      <if test="id != null" >
        #{id,jdbcType=INTEGER},
      </if>
      <if test="username != null" >
        #{username,jdbcType=VARCHAR},
      </if>
    </trim>
  </insert>
  <update id="updateByPrimaryKeySelective" parameterType="com.test.model.TTest" >
    update t_test
    <set >
      <if test="username != null" >
        userName = #{username,jdbcType=VARCHAR},
      </if>
    </set>
    where id = #{id,jdbcType=INTEGER}
  </update>
  <update id="updateByPrimaryKey" parameterType="com.test.model.TTest" >
    update t_test
    set userName = #{username,jdbcType=VARCHAR}
    where id = #{id,jdbcType=INTEGER}
  </update>
</mapper>

 

编写mybatis 配置文件

mybatis-config.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>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://127.0.0.1:3306/c_sai" />
                <property name="username" value="root" />
                <property name="password" value="" />
            </dataSource>
        </environment>
    </environments>
    <mappers>
         <mapper resource="com\test\mapping\TTestMapper.xml" />
    </mappers>
</configuration>  

编写测试类

package com.jefry;

import java.io.IOException;
import java.io.InputStream;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import com.test.model.TTest;

public class Test {
    static String resource = "mybatis-config.xml";

    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder()
                .build(inputStream);
        SqlSession session = sqlSessionFactory.openSession();
        try {
            // User.selectUser中User对应UserMapper.xml文件中标签<mapper
            // namespace="com.test.dao.TTestMapper"> namespace的值
            // selectUser 对应UserMapper.xml文件中标签<select id="selectUser"
            // parameterType="int" resultType="com.jefry.User">中id值
            TTest tt = session.selectOne("com.test.dao.TTestMapper.selectByPrimaryKey", 1);
            System.out.println("tt.getName()=" + tt.getUsername());
        } finally {
            session.close();
        }
    }

}

 

结果:

tt.getName()=2

到此为止mybatis 部署成功.

 

 

 

 

 

 

 

 

 

 

更多相关文章
  • 集成框架 javaweb开发平台ssmy_m(生成代码) java struts2 mybatis spring maven jquery
    网页地址 http://blog.csdn.net/lpy3654321/article/details/31841573          项目设想,在项目开发中,我们的开发者大多数时间都在反复开发 相同的keyword,相同的语法. 但就在这种情况下还会常常发生语法的错误,并且每一个开发者的代码 ...
  • mybatis 与Spring 的整合. 1.导入Spring 和Springmvc的包 pom <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/200 ...
  • spring mvc 与mybatis 的整合. 加入配置文件: spring-mybaits.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www. ...
  • 


    		    springmvc+mybatis+spring 整合 bootstrap html5 mysql oracle
    获取[下载地址] QQ: 313596790 [免费支持更新] A 代码生成器(开发利器);全部是源码 增删改查的处理类,service层,mybatis的xml,SQL( mysql 和oracle)脚本, jsp页面 都生成 就不用写搬砖的代码了,生成的放到项目里,可以直接运行 B 阿里巴巴数据 ...
  • 1.0.0 struts2 与 spring 的整合. 1.1.0 新建maven工程 , 编写pom.xml ,这里只需要简单的添加 一个组件就够了: 在myeclipse 生成的pom.xml 添加如下代码: <dependency> <groupId>org.apach ...
  • 今天配置了半天,发现,事物不起效果,主要出现如下错误: org.mybatis.spring.transaction.SpringManagedTransaction] - [JDBC Connection [[email protected]] w ...
  • 个人搭建框架: pom.xml: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:s ...
  •   解决Spring MVC 对AOP不起作用的问题 分类: SpringMVC3x+Spring3x+MyBatis3x myibaits spring J2EE2013-11-21 11:22 640人阅读 评论(1) 收藏  用的是 SSM3的框架 Spring MVC 3.1 + Sprin
一周排行
  • Source URL: http://blog.sina.com.cn/s/blog_608740170100wwub.html 最近在写一个网络通信函数,参考别人的代码时对select()函数的使用存有疑惑,不太确
  • 


    		    kvm虛擬化學習筆記(三)之windows kvm虛擬機安裝
    KVM虚拟化学习笔记系列文章列表 ----------------------------
  • 


    		    VDI序曲十二 伺服器版XPMODE發布IE6
    沿用之前序曲的架构,我们在物理服务器2上新建一台Windows XP With SP3的虚
  • 


    		    祝賀BabyXc獲得Microsoft MVP
    今日获悉BabyXc获得Microsoft MVP,在这祝贺他一下 [url]http:/
  • Red and Black Time Limit: 1MS   Memory Limit: 30K Total Submissions: 21143   Accepted: 11292 Description The ...
  • alfresco是一款目前应用最广泛的开源企业知识管理系统(ECM),为企业提供了日常的文档管理.协同工作.工作记录管理.知识管理.网络内容管理.图片管理等多种功能 搭建环境 centos6.4 64位系统 安装方式
  • 由于需要,前几天在 OS X 上安装了 Oracle 的 Java 7.安装之后,发现由于我原来设置的 JAVA_HOME 为 /Library/Java/Home ,导致我使用的还是原来苹果提供的 Java 6 而
  • 题目;http://acm.hdu.edu.cn/showproblem.php?pid=5491 题意就是,T组测试数据.然后L,S1,S2.L的二进制中有x个1,x满足  S1<=x<=S2 求满足S ...
  • 1.首先添加场景模型 2.为场景模型(寻路路径)添加NavMesh渲染,操作:Windows->Navigation->勾选Navigation Static选项->不勾选Generate选项-&g ...
  • 题目大意: 给你以T, 代表T组测试数据,一个n代表有n个点, 一个m代表有m条边, 每条边有三个参数,a,b,c表示从a到b的这条路上最大的承受重量是c, 让你找出一条线路,要求出在这条线路上的最小承重, 在所有其