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

1.mybatis3动态创建表,判断表是否存在,删除表

mapper配置文件:

<span style="font-size:18px;"><?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接口如下:

<span style="font-size:18px;">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>

注意
<span style="font-size:18px;">@Param("tableName") 的注解.</span>

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dreamer who

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值