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
一周排行
  • 在这系列视觉设计的文章间隙插一篇字体单位的文章. 前文说了,字体单位应该用em而不用px,原因简单来说就是支持IE6下的字体缩放,在页面中按ctrl+滚轮,字体以px为单位的网站没有反应.px是绝对单位,不支持IE的
  • Windows平台下爲Python添加MongoDB支持PyMongo
      到Python官网下载pymongo-2.6.3.win-amd64-py2.7.ex
  • 百度站长平台发布公告宣布新版Baiduspider移动ua上线,同时公布了PC版Baiduspider ua,那么该如何正确识别移动ua呢?我们百度站长平台技术专家孙权老师给出了答案: 新版移动ua: Mozilla
  • 


    		    Switch: 模式中上傳IOS
    1.Console与电脑相连,并用超级终端登录,并对超级终端做下设置 2.初始化闪存 sw
  • 首先.有个burpsuit 一定是pro.这个在哪都有下载. 然后是和苹果手机在同一个网络中. 打开burpsuit. proxy option 选中127.0.0.1进行edit specific 地址选择自己的本
  • dgdfgdfg
    sdfsdgdf gd fg d g df gfgdfg
  • 今天写了个opacity, 竟然less编译不过,上网搜了一个写法 .opacity (@opacity) { @opacityPercentage: @opacity * 100; opacity: @opacit
  • 运行环境:Red hat 6.4 去官网下载qt5.2并且安装 当启动的时候会出现如下错误 核心载入失敗: /opt/Qt5.2.0/Tools/QtCreator/lib/qtcreator/plugins/QtP
  • 使用expect实现scp,ssh自动输入口令: Using expect to implement SCP SSH automatically input password? Expect is a kind of ...
  • 


    		    追尋Windows7Windows XP Mode
    安装Windows7以后,觉得Virtual XP Mode是一个很不错的设计,也就是利用