iBatis的sqlMap配置文件的selectKey元素有个type属性,可以指定pre或者post表示前生成(pre)还是后生成(post). Oracle设置 <!-- Oracle SEQUENCE --> <insert id="insertProduct-ORACLE" parameterClass="com.domain.Product"> <selectKey resultClass="int" ke…
在PowerDesinger中,若表名过长,自动生成的主键名会被自动截取. 解决如下:DataBase/Edit Current DBMS/Scripts/Objects/PKey/ConstName中找到Value的值,默认是 PK_%.U27:TABLE%,U27表示截取27个字符.改成PK_%TABLE%主键名就不会被截取了. 同理,对生成的约束名常常因为截断字符串而导致重名错误,可以放开. DataBase/Edit Current DBMS/Scripts/Objects/Refere…
一些类,在前面的博客中有,就不重复了 public class Test2 { TestDAO t=new TestDAO(); /*前提是数据表的主键是自动增加的, *取得数据库自动生成的主键 * */ @Test public void testGetKeyValues() throws Exception{ Connection connection=null; PreparedStatement preparedStatement=null; try { String sql="inse…
获取数据库自动生成的主键 [孤立的技术是没有价值的],我们这里只是为了了解具体的实现步骤:我们在插入数据的时候,经常会需要获取我们插入的这一行数据对应的主键值. 具体的代码实现: /** * 获取数据库自动生成的主键 */ @Test public void testGetKeyValues(){ Connection connection=null; PreparedStatement preparedStatement=null; ResultSet rs=null; try { conne…
测试脚本如下: 1 create table test1 2 ( 3 id int primary key auto_increment, 4 name varchar(20) 5 ); 测试代码: 1 package me.gacl.demo; 2 3 import java.sql.Connection; 4 import java.sql.PreparedStatement; 5 import java.sql.ResultSet; 6 import me.gacl.utils.JdbcU…
转自:http://www.cnblogs.com/ysw-go/ 获取数据库自动生成的主键 我们这里只是为了了解具体的实现步骤:我们在插入数据的时候,经常会需要获取我们插入的这一行数据对应的主键值. 具体的代码实现: 1 /** 2 * 获取数据库自动生成的主键 3 */ 4 @Test 5 public void testGetKeyValues(){ 6 Connection connection=null; 7 PreparedStatement preparedStatement=nu…
测试脚本如下: 1 create table test1 2 ( 3 id int primary key auto_increment, 4 name varchar(20) 5 ); 测试代码: 1 package me.gacl.demo; 2 3 import java.sql.Connection; 4 import java.sql.PreparedStatement; 5 import java.sql.ResultSet; 6 import me.gacl.utils.JdbcU…
public class testGetKeyValue { /** * 取得数据库自动生成的主键 */ @Test public void testGeneratedKeys() { Connection conn = null; PreparedStatement ps = null; ResultSet rs=null; try { conn = JDBCTools.getConnection(); String sql = "INSERT INTO customers(name,emai…
测试脚本如下: 1 create table test1 2 ( 3 id int primary key auto_increment, 4 name varchar(20) 5 ); 测试代码: package me.tanlei.demo; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import…
为什么需要获取自动生成的主键 例如:…
原文:Oracle\MS SQL Server Update多表关联更新 一条Update更新语句是不能更新多张表的,除非使用触发器隐含更新.而表的更新操作中,在很多情况下需要在表达式中引用要更新的表以外的数据.我们先来讨论根据其他表数据更新你要更新的表   一.MS    SQL    Server   多表关联更新      sql server提供了update的from 子句,可以将要更新的表与其它的数据源连接起来.虽然只能对一个表进行更新,但是通过将要更新的表与其它的数据源连接起来,就…
场景 保存订单数据和订单详情数据时需要将订单的主键作为关联子段添加到明细表中,需要将保存订单时的主键返回给供保存明细表时使用 添加xml中新增数据时的配置 <insert id="insertSelective" parameterType="com.hanilucky.core.vo.Orders" useGeneratedKeys="true" keyColumn="UUID" keyProperty="u…
在SQL Server Oracle MySQL当数据库中查出某值为NULL怎么办? 1.MSSQL: ISNULL() 语法 ISNULL ( check_expression , replacement_value ) 参数 check_expression 将被检查是否为 NULL的表达式.check_expression 可以是任何类型的. replacement_value 在 check_expression 为 NULL时将返回的表达式.replacement_value 必须与…
public class Demo4 { /* create table test1 ( id int primary key auto_increment, name varchar(20) ); */ @Test public void test1() { Connection conn = null; PreparedStatement st = null; ResultSet rs = null; try { conn = JdbcUtils.getConnection(); Strin…
本篇讲述如何使用JDBC获取能自动增加的主键的值.有时候我们在向数据库插入数据时希望能返回主键的值,而不是通过查询的方式.一般来说,在多表相互关联主键约束,也就是说别的表的外键约束是该表的主键,那么在该表插入时主键自动增加,那么就应该将主键值给别的外键是该表的主键,以指示别的表在更新自己的外键项时应该关联哪个值. 前提: ① 这里探讨的首先只能是对数据库的插入操作(Insert). ② 其次应该是表中的主键列,也就是在创建表的时候被赋予主键约束(PRIMARY KEY)的列数据项. ③ 其次该主…
一.sql语句 CREATE TABLE `testgeneratedkeys` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 二.测试代码 public class JdbcGeneratedKeys { @Test public void test() { Connection co…
[摘 要]本文主要是对MS SQL Server数据库查询优化技巧进行了说明和分析,对索引使用.查询条件以及数据表的设计等进行了阐述.中国论文网 http://www.xzbu.com/2/view-3479336.htm [关键词]数据库:查询:优化技巧 一.建立索引能够提高查询效率 在应用数据库的过程当中是否应用索引查询是一个具有争议性的话题,这主要是因为对数据库某列添加索引以后,在利用该索引对整个数据库进行查询的时候就只会在索引范围之内进行扫描,而不利用该索引对整个数据库进行查询时所进行的…
1.sql server导出到xls,再导入到mysql中.亲测,单表数据量到百万以后,导出异常,可能由其它原因导致,没细纠.此种方式需要来回倒腾数据,稍繁琐. 2.采用kettle第三方的ETL工具,需要下载第三方软件,简单的任务设计,较为麻烦. 3.采用Navicat客户端,支持MS SQL SERVER /MySQL / SQLite / PostgreSQL /Oracle等多种数据源,分别建立对应的连接后,即可采用数据传输功能完成数据同步操作.最为简单,推荐使用  点击开始即可开始同步…
数据表设计时,一般都会有一个主键(Key)(自己指定),有时也可以使用联合主键: 有许多数据库提供了隐藏列为表中的每行记录分配一个唯一键值(如:rowid): 当我们没有指定哪一列作为主键key时,数据表可能会含有一个隐含的主键(或者叫唯一键值): 当我们向数据表中插入数据时,对于每一条记录,都会有一个主键与之对应,那么我们如何在向数据表中插入数据时,获取到数据库自动分配的主键呢? 如下给出示例: 上面使用到了PreparedStatement来执行SQL插入,关于PreparedStateme…
原文:MS SQL SERVER搜索某个表的主键所在的列名 SELECT SYSCOLUMNS.name  FROM SYSCOLUMNS,SYSOBJECTS,SYSINDEXES,SYSINDEXKEYS   WHERE SYSCOLUMNS.id = object_id('Tab_XXX') --syscolumns.id为该列所属的表对象ID   AND SYSOBJECTS.xtype = 'PK' --sysobjects.xtype对象类型  AND SYSOBJECTS.pare…
iBatis——自动生成DAO层接口提供操作函数(详解) 在使用iBatis进行持久层管理时,发现在使用DAO层的updateByPrimaryKey.updateByPrimaryKeySelective方法进行数据更新时,运行结果不一.因之前没有仔细研究过iBatis框架,现特此查询相关文章整理并记录自动生成的DAO层接口提供操作函数详细使用方式与区别如下: iBator生成的DAO层的接口提供了以下操作函数: 序号 方法名 参数 返回值 异常 作用 备注 1 countByExample…
JPA标准方式下,不可以生成uuid类型的主键,但是hibernate提供了一些方式生成uuid主键,具体如下: 1.主键生成器     @GeneratedValue(generator="idGenerator") 2.通过注解方式生成一个generator     @GenericGenerator(name="idGenerator", strategy="uuid")     /** * annotation uuid * @autho…
首先在Mybatis Mapper文件中insert语句中添加属性“useGeneratedKeys”和“keyProperty”,其中keyProperty是保存主键值的属性. 例如: <insert id="save" parameterType=“Survery" useGeneratedKeys="true" keyProperty="pkId"> insert into edu_survery ( is_valid…
<insert id="abatorgenerated_insert" parameterClass="net.xxxxxl.dataobject.Users"> <!-- WARNING - This element is automatically generated by Abator for iBATIS, do not modify. This element was generated :: CST . --> insert in…
在实际开发中,可能很少人会手写sql脚本来操作数据库的种种.特别是微软的MS SQL Server数据库,它的SQL Server Management Studio对数据库的图形化操作极致简便,从而导致很多人都不会或不熟悉使用SQL脚本操作数据库. 接下面介绍的是我们日常开发中常规性的各种操作,先看看基本知识,随后使用coding来表述. SQL Server 常见五种约束: Primary Key --主键约束 Foreign Key --外键约束 Unique --唯一约束 Default…
1.说明 SQL Server2008 本身具有定期自动备份功能,我们只需要通过简单的配置就可以实现非常简单高效的自动备份功能. 2.打开SQL Server代理服务 要实现自动备份功能,首先要保证SQL Server的"SQL Server(代理)"服务已经打开. 如果没有看到这个"SQL Server代理"节点,可通过如下方式打开 先找到开始菜单中的"Microsoft SQL Server 2008 R2",再在"配置工具&quo…
项目中要将查询出的一列的多行内容拼接成一行,如下图:ypmc列. ms sql server: 网上查到相关资料如下:http://blog.csdn.net/rolamao/article/details/7745972 写的还不错. 我写的如下(存储过程中): select (STUFF((select '';''+ywmc from JB_TNB_HZ_YYQK where XT_JLZT =''0'' and SFLSH=a.lsh for xml path('''')),1,1,'''…
1.总体对比. SQL,在这里我理解成SQL Server.三者是目前市场占有率最高(依安装量而非收入)的关系数据库,而且很有代表性.排行第四的DB2(属IBM公司),与Oracle的定位和架构非常相似,就不赘述了. 1.Oracle:最贵,功能最多,安装最不方便,Oracle环境里的其他相关组件最多,支持平台数量一般,使用中等方便,开发中等方便,运维中等方便,不开源,速度最慢,最安全. 2.Microsoft SQL Server 2014:中等贵,功能最少,安装中等方便,Microsoft…
(火炬)MS SQL Server数据库案例教程 创建数据库: CREATE DATABASE TDB //数据库名称 ON ( NAME=TDB_dat,//逻辑文件名 在创建数据库完成之后语句中引用的文件名 数据库必须唯一 FILENAME='D:\mydb\TDB_dat.mdf',//操作系统在创建文件时使用的路径和文件名 SIZE=10,//指定数据文件或日志文件的初始大小(默认单位为MB) MAXSIZE=50,// 指定数据文件或日志文件的最大大小,如果没有指定大小那么文件将磁盘曾…
SQL Server,MySQL,Oracle三者的区别 2016-10-14 转自:SQL Server,MySQL,Oracle三者的区别 目录 1 Oracle.Sql Server.MySql简介  1.1 Oracle  1.2 SQL Server  1.3 MySQL2 Oracle和MySQL的主要区别  2.1 客户端和命令窗口  2.2 市场占有率及其他  2.3 Oracle也与MySQL操作上的一些区别    2.3.1 组函数用法规则    2.3.2 自动增长的数据类…