mybatis配置

一、创建Maven工程并编辑pom.xml

pom.xml

<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.0http://maven.apache.org/xsd/maven-4.0.0.xsd">
                  <modelVersion>4.0.0</modelVersion>
                  <groupId>mabatis_v1.0</groupId>
                  <artifactId>mabatis_v1.0</artifactId>
                  <version>0.0.1-SNAPSHOT</version>
                  <packaging>war</packaging>
                  <build>
                   <sourceDirectory>src</sourceDirectory>
                   <plugins>
                    <plugin>
                     <artifactId>maven-compiler-plugin</artifactId>
                     <version>3.3</version>
                     <configuration>
                      <source>1.8</source>
                      <target>1.8</target>
                     </configuration>
                    </plugin>
                    <plugin>
                     <artifactId>maven-war-plugin</artifactId>
                     <version>2.6</version>
                     <configuration>
                      <warSourceDirectory>WebContent</warSourceDirectory>
                      <failOnMissingWebXml>false</failOnMissingWebXml>
                     </configuration>
                    </plugin>
                   </plugins>
                  </build>
                  <!-- 依赖关系 -->
                  <dependencies>
                  <!-- ibatis.jar 从网络获取,则不需要手动导入ibatis的jar包!-->
                   <dependency>
                    <groupId>org.mybatis</groupId>
                    <artifactId>mybatis</artifactId>
                    <version>3.2.8</version>
                   </dependency>
                  <!-- junit.jar -->
                   <dependency>
                    <groupId>junit</groupId>
                    <artifactId>junit</artifactId>
                    <version>4.10</version>
                   </dependency>
                  </dependencies>
                 </project>

  

二、创建java类

三、创建java对象与数据库之间的xml文件

NewsMapper.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.hedong.dao.NewsMapper" >
  <resultMap id="BaseResultMap" type="com.hedong.pojo.News" >
    <id column="newsID" property="newsid" jdbcType="INTEGER" />
    <result column="newsType" property="newstype" jdbcType="VARCHAR" />
    <result column="newsTitle" property="newstitle" jdbcType="VARCHAR" />
    <result column="newsWriter" property="newswriter" jdbcType="VARCHAR" />
    <result column="newsTime" property="newstime" jdbcType="TIMESTAMP" />
  </resultMap>
  <resultMap id="ResultMapWithBLOBs" type="com.hedong.pojo.News" extends="BaseResultMap" >
    <result column="newsContent" property="newscontent" jdbcType="LONGVARCHAR" />
  </resultMap>
  <sql id="Example_Where_Clause" >
    <where >
      <foreach collection="oredCriteria" item="criteria" separator="or" >
        <if test="criteria.valid" >
          <trim prefix="(" suffix=")" prefixOverrides="and" >
            <foreach collection="criteria.criteria" item="criterion" >
              <choose >
                <when test="criterion.noValue" >
                  and ${criterion.condition}
                </when>
                <when test="criterion.singleValue" >
                  and ${criterion.condition} #{criterion.value}
                </when>
                <when test="criterion.betweenValue" >
                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
                </when>
                <when test="criterion.listValue" >
                  and ${criterion.condition}
                  <foreach collection="criterion.value" item="listItem" open="(" close=")" separator="," >
                    #{listItem}
                  </foreach>
                </when>
              </choose>
            </foreach>
          </trim>
        </if>
      </foreach>
    </where>
  </sql>
  <sql id="Update_By_Example_Where_Clause" >
    <where >
      <foreach collection="example.oredCriteria" item="criteria" separator="or" >
        <if test="criteria.valid" >
          <trim prefix="(" suffix=")" prefixOverrides="and" >
            <foreach collection="criteria.criteria" item="criterion" >
              <choose >
                <when test="criterion.noValue" >
                  and ${criterion.condition}
                </when>
                <when test="criterion.singleValue" >
                  and ${criterion.condition} #{criterion.value}
                </when>
                <when test="criterion.betweenValue" >
                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
                </when>
                <when test="criterion.listValue" >
                  and ${criterion.condition}
                  <foreach collection="criterion.value" item="listItem" open="(" close=")" separator="," >
                    #{listItem}
                  </foreach>
                </when>
              </choose>
            </foreach>
          </trim>
        </if>
      </foreach>
    </where>
  </sql>
  <sql id="Base_Column_List" >
    newsID, newsType, newsTitle, newsWriter, newsTime
  </sql>
  <sql id="Blob_Column_List" >
    newsContent
  </sql>
  <select id="selectByExampleWithBLOBs" resultMap="ResultMapWithBLOBs" parameterType="com.hedong.pojo.NewsExample" >
    select
    <if test="distinct" >
      distinct
    </if>
    <include refid="Base_Column_List" />
    ,
    <include refid="Blob_Column_List" />
    from news_tb
    <if test="_parameter != null" >
      <include refid="Example_Where_Clause" />
    </if>
    <if test="orderByClause != null" >
      order by ${orderByClause}
    </if>
  </select>
  <select id="selectByExample" resultMap="BaseResultMap" parameterType="com.hedong.pojo.NewsExample" >
    select
    <if test="distinct" >
      distinct
    </if>
    <include refid="Base_Column_List" />
    from news_tb
    <if test="_parameter != null" >
      <include refid="Example_Where_Clause" />
    </if>
    <if test="orderByClause != null" >
      order by ${orderByClause}
    </if>
  </select>
  <select id="selectByPrimaryKey" resultMap="ResultMapWithBLOBs" parameterType="java.lang.Integer" >
    select 
    <include refid="Base_Column_List" />
    ,
    <include refid="Blob_Column_List" />
    from news_tb
    where newsID = #{newsid,jdbcType=INTEGER}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
    delete from news_tb
    where newsID = #{newsid,jdbcType=INTEGER}
  </delete>
  <delete id="deleteByExample" parameterType="com.hedong.pojo.NewsExample" >
    delete from news_tb
    <if test="_parameter != null" >
      <include refid="Example_Where_Clause" />
    </if>
  </delete>
  <insert id="insert" parameterType="com.hedong.pojo.News" >
    insert into news_tb (newsID, newsType, newsTitle, 
      newsWriter, newsTime, newsContent
      )
    values (#{newsid,jdbcType=INTEGER}, #{newstype,jdbcType=VARCHAR}, #{newstitle,jdbcType=VARCHAR}, 
      #{newswriter,jdbcType=VARCHAR}, #{newstime,jdbcType=TIMESTAMP}, #{newscontent,jdbcType=LONGVARCHAR}
      )
  </insert>
  <insert id="insertSelective" parameterType="com.hedong.pojo.News" >
    insert into news_tb
    <trim prefix="(" suffix=")" suffixOverrides="," >
      <if test="newsid != null" >
        newsID,
      </if>
      <if test="newstype != null" >
        newsType,
      </if>
      <if test="newstitle != null" >
        newsTitle,
      </if>
      <if test="newswriter != null" >
        newsWriter,
      </if>
      <if test="newstime != null" >
        newsTime,
      </if>
      <if test="newscontent != null" >
        newsContent,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides="," >
      <if test="newsid != null" >
        #{newsid,jdbcType=INTEGER},
      </if>
      <if test="newstype != null" >
        #{newstype,jdbcType=VARCHAR},
      </if>
      <if test="newstitle != null" >
        #{newstitle,jdbcType=VARCHAR},
      </if>
      <if test="newswriter != null" >
        #{newswriter,jdbcType=VARCHAR},
      </if>
      <if test="newstime != null" >
        #{newstime,jdbcType=TIMESTAMP},
      </if>
      <if test="newscontent != null" >
        #{newscontent,jdbcType=LONGVARCHAR},
      </if>
    </trim>
  </insert>
  <select id="countByExample" parameterType="com.hedong.pojo.NewsExample" resultType="java.lang.Integer" >
    select count(*) from news_tb
    <if test="_parameter != null" >
      <include refid="Example_Where_Clause" />
    </if>
  </select>
  <update id="updateByExampleSelective" parameterType="map" >
    update news_tb
    <set >
      <if test="record.newsid != null" >
        newsID = #{record.newsid,jdbcType=INTEGER},
      </if>
      <if test="record.newstype != null" >
        newsType = #{record.newstype,jdbcType=VARCHAR},
      </if>
      <if test="record.newstitle != null" >
        newsTitle = #{record.newstitle,jdbcType=VARCHAR},
      </if>
      <if test="record.newswriter != null" >
        newsWriter = #{record.newswriter,jdbcType=VARCHAR},
      </if>
      <if test="record.newstime != null" >
        newsTime = #{record.newstime,jdbcType=TIMESTAMP},
      </if>
      <if test="record.newscontent != null" >
        newsContent = #{record.newscontent,jdbcType=LONGVARCHAR},
      </if>
    </set>
    <if test="_parameter != null" >
      <include refid="Update_By_Example_Where_Clause" />
    </if>
  </update>
  <update id="updateByExampleWithBLOBs" parameterType="map" >
    update news_tb
    set newsID = #{record.newsid,jdbcType=INTEGER},
      newsType = #{record.newstype,jdbcType=VARCHAR},
      newsTitle = #{record.newstitle,jdbcType=VARCHAR},
      newsWriter = #{record.newswriter,jdbcType=VARCHAR},
      newsTime = #{record.newstime,jdbcType=TIMESTAMP},
      newsContent = #{record.newscontent,jdbcType=LONGVARCHAR}
    <if test="_parameter != null" >
      <include refid="Update_By_Example_Where_Clause" />
    </if>
  </update>
  <update id="updateByExample" parameterType="map" >
    update news_tb
    set newsID = #{record.newsid,jdbcType=INTEGER},
      newsType = #{record.newstype,jdbcType=VARCHAR},
      newsTitle = #{record.newstitle,jdbcType=VARCHAR},
      newsWriter = #{record.newswriter,jdbcType=VARCHAR},
      newsTime = #{record.newstime,jdbcType=TIMESTAMP}
    <if test="_parameter != null" >
      <include refid="Update_By_Example_Where_Clause" />
    </if>
  </update>
  <update id="updateByPrimaryKeySelective" parameterType="com.hedong.pojo.News" >
    update news_tb
    <set >
      <if test="newstype != null" >
        newsType = #{newstype,jdbcType=VARCHAR},
      </if>
      <if test="newstitle != null" >
        newsTitle = #{newstitle,jdbcType=VARCHAR},
      </if>
      <if test="newswriter != null" >
        newsWriter = #{newswriter,jdbcType=VARCHAR},
      </if>
      <if test="newstime != null" >
        newsTime = #{newstime,jdbcType=TIMESTAMP},
      </if>
      <if test="newscontent != null" >
        newsContent = #{newscontent,jdbcType=LONGVARCHAR},
      </if>
    </set>
    where newsID = #{newsid,jdbcType=INTEGER}
  </update>
  <update id="updateByPrimaryKeyWithBLOBs" parameterType="com.hedong.pojo.News" >
    update news_tb
    set newsType = #{newstype,jdbcType=VARCHAR},
      newsTitle = #{newstitle,jdbcType=VARCHAR},
      newsWriter = #{newswriter,jdbcType=VARCHAR},
      newsTime = #{newstime,jdbcType=TIMESTAMP},
      newsContent = #{newscontent,jdbcType=LONGVARCHAR}
    where newsID = #{newsid,jdbcType=INTEGER}
  </update>
  <update id="updateByPrimaryKey" parameterType="com.hedong.pojo.News" >
    update news_tb
    set newsType = #{newstype,jdbcType=VARCHAR},
      newsTitle = #{newstitle,jdbcType=VARCHAR},
      newsWriter = #{newswriter,jdbcType=VARCHAR},
      newsTime = #{newstime,jdbcType=TIMESTAMP}
    where newsID = #{newsid,jdbcType=INTEGER}
  </update>
</mapper>

四、创建confg.xml文件

 

五、创建SqlSessionFactory,获取session

 

posted @ 2019-05-01 20:09  DoNg_一隅  阅读(182)  评论(0编辑  收藏  举报