mybatis在数据库创建新表的解决方法
来源:互联网 发布:中国影响力人物数据库 编辑:程序博客网 时间:2024/05/15 14:26
在用mybatis 新建表的过程中收获如下:
//第一种建表方式:
如果是纯数字的表名需要拼接成字符:String tableName="`"+"1500"+"`";
<update id="createNewTable" parameterType="java.lang.String" >
CREATE TABLE ${value} (
`id` int(11) NOT NULL AUTO_INCREMENT,
` author_id` int(11) DEFAULT NULL,
`title` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8//注意此处不要复制分号过来
</update>
接口:int createNewTable(String tableName);
创建成功:返回值为0,失败直接抛异常
//第二种建表方式:
编写一个SQL存储过程:
CREATE DEFINER=`root`@`localhost` PROCEDURE `createTable`(INOUT `mdate` varchar(50))
BEGIN
declare sm_results_name varchar(50);
set @sm_results_name = concat('user_ans_',mdate);
set @csql =
concat("create table if not exists ",@sm_results_name , " (`uanswer_Id` int(11) NOT NULL AUTO_INCREMENT,
`u_name` varchar(20) DEFAULT NULL,
PRIMARY KEY (`uanswer_Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;");
PREPARE create_stmt from @csql;
EXECUTE create_stmt;
END
存储过程不过多介绍,只需要注意: 在BEGIN和END 中间部分 不能直接CREATER 表名
如需了解请自己搜索详细说明。
在mapper.xml 中配置如下:
<select id="recommend" parameterType="java.lang.String" statementType="CALLABLE" >
call createTable(#{s,jdbcType=VARCHAR,mode=IN})
</select>
调用的是存储过程的名称,
创建的接口返回值 String 为空:
接口:String recommend(String s);
//第一种建表方式:
如果是纯数字的表名需要拼接成字符:String tableName="`"+"1500"+"`";
<update id="createNewTable" parameterType="java.lang.String" >
CREATE TABLE ${value} (
`id` int(11) NOT NULL AUTO_INCREMENT,
` author_id` int(11) DEFAULT NULL,
`title` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8//注意此处不要复制分号过来
</update>
接口:int createNewTable(String tableName);
创建成功:返回值为0,失败直接抛异常
//第二种建表方式:
编写一个SQL存储过程:
CREATE DEFINER=`root`@`localhost` PROCEDURE `createTable`(INOUT `mdate` varchar(50))
BEGIN
declare sm_results_name varchar(50);
set @sm_results_name = concat('user_ans_',mdate);
set @csql =
concat("create table if not exists ",@sm_results_name , " (`uanswer_Id` int(11) NOT NULL AUTO_INCREMENT,
`u_name` varchar(20) DEFAULT NULL,
PRIMARY KEY (`uanswer_Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;");
PREPARE create_stmt from @csql;
EXECUTE create_stmt;
END
存储过程不过多介绍,只需要注意: 在BEGIN和END 中间部分 不能直接CREATER 表名
如需了解请自己搜索详细说明。
在mapper.xml 中配置如下:
<select id="recommend" parameterType="java.lang.String" statementType="CALLABLE" >
call createTable(#{s,jdbcType=VARCHAR,mode=IN})
</select>
调用的是存储过程的名称,
创建的接口返回值 String 为空:
接口:String recommend(String s);
阅读全文
0 0
- mybatis在数据库创建新表的解决方法
- 在myeclipse中创建新的数据库
- oracle 创建数据库 在新创建的数据库中创建用户 删除创建数据库 链接orcl
- 无法在app_data目录中创建数据库的解决方法
- 用c#在Access数据库中创建新表
- 创建新的Access数据库
- vs2010创建一个新的类时,在左下角显示“正在创建项目…创建项目失败”解决方法
- 无法创建新类的解决方法
- 创建的新数据库,为什么在数据库界面中不显示出来,一直隐藏着
- 关于mybatis动态创建数据库表的相关操作
- django不用在数据库中创建新的user表而使用它的后台管理功能
- 数据库在创建表语句的时候,出现:列在此处不允许错误的解决方法
- 创建一个新的(自定义)数据库函数
- 创建一个新的 HyperSQL 数据库
- java使用jdbc创建新的数据库
- SQL之创建新的数据库
- 创建 和删除新的数据库
- 在MyBatis中 SqlSessionFactory的创建过程
- MyBatis入门(3)
- 什么是WebService
- 对offsetLet,offsetTop,scrollLeft,scrollTop几个方法的理解
- 运气还需一边待,莫谈、莫靠
- [NOIP提高组2004]合唱队形
- mybatis在数据库创建新表的解决方法
- windows下配置nginx+php环境
- iOS swift 自定义tableView不显示cell
- j2ee常用的设计模式 说明工厂模式
- 始篇
- CAD新手的使用心得
- Leetcode 62. Unique Paths
- MongoDB:MySQL数据向MongoDB迁移
- 通过ParserUtil进行过滤