mybatis3动态创建表,判断表是否存在,删除表示例

本文为大家讲解的是 mybatis3动态创建表,判断表是否存在,删除表示例,感兴趣的同学参考下。

mapper配置文件:

<?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.doctor.mybatis3practice.mapper.BlogMapper" >  
    <resultMap type="Blog" id="baseResultMap">  
        <id property="id" column="id"/>  
        <result property="authorId" column="author_id"/>  
        <result property="title" column="title"/>  
    </resultMap>  
    <sql id="all_collum">  
        id,author_id,title  
    </sql>  
      
    <insert id="insertBlog" useGeneratedKeys="true" keyProperty="id">  
        insert into blog ( author_id,title)  
         values (#{authorId},#{title})  
    </insert>  
      
    <select id="queryById" parameterType="Long" resultMap="baseResultMap">  
        select <include refid="all_collum"/>  
        from blog  
        where id = #{id}  
    </select>  
      
    <select id="existTable" parameterType="String" resultType="Integer">  
        select count(1)  
        from sys.systables  
        where LCASE(tablename)=#{tableName}  
    </select>  
    <update id="dropTable">  
        drop table ${tableName}     
    </update>  
      
    <update id="createNewTable" parameterType="String">  
        create table ${tableName} (  
                            id int not null generated by default as identity,  
                            author_id int not null,  
                            title varchar(255),  
                            primary key (id))  
    </update>  
</mapper></span> 


注意配置文件中的${tableName}  和#{tableName}的区别.

mapper接口如下:

package com.doctor.mybatis3practice.mapper;  
  
import org.apache.ibatis.annotations.Param;  
  
import com.doctor.mybatis3practice.domain.Blog;  
  
public interface BlogMapper {  
    Blog queryById(Long id);  
  
    int insertBlog(Blog blog);  
    int createNewTable(@Param("tableName") String tableName);  
    int dropTable(@Param("tableName") String tableName);  
    int existTable(String tableName);  
}  
</span>  

注意

@Param("tableName") 的注解.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值