fw_student_SqlMap.xml(SQL 和VO的映射文件)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="fw_student">
<resultMap class="com.sias.Student" id="student">
<result column="name" property="name" jdbcType="VARCHAR2"/>
<result column="sex" property="sex" jdbcType="VARCHAR2"/>
</resultMap>
<select id="Select" resultMap="student">//被SqlMapClient类的List queryForList(String)方法调用
select name,sex from fw_student
</select>
<insert id="insert" parameterClass="com.sias.Student">//被SqlMapClient类的 void insert(String,Object)方法调用
insert into fw_student(name,sex) values(#name:VARCHAR2#,#sex:VARCHAR2#)
</insert>
<update id="update" parameterClass="java.util.Map">//被SqlMapClient类的 void update(String,Map)方法调用
update fw_student cm set name='chang'
<isPropertyAvailable property="n">//如果Map.put(String,value)中存在变量n(String="n"),则使用Where name=n;
where name='$n$'
</isPropertyAvailable>
</update>
</sqlMap>
这里需要说明的是$和#符号的用法:
例如变量M是字符串类型,则应该用'$M$'或者#M#,如果是int型,则用$M$或#M#
相关文档:
前言
最近接连遇到几个朋友问我同一个问题,就是关于.NET平台上ORM框架的选择。我想在这个讲求效率的时代,谁也不想手写SQL或存储过程去访问数据库了。大家都知道,在Java平台上,ORM这一块基本是Hibernate的天下。当然,相对轻量级的iBatis也有不错的表现。
&nb ......
类型名称
Oracle
SQLServer
比较
字符数据类型
CHAR
CHAR
都是固定长度字符资料但oracle里面最大度为2kb,SQLServer里面最大长度为8kb
变长字符数据类型
VARCHAR2
VARCHAR
Oracle里面最大长度为4kb,SQLServer里面最大长度为8kb
根据字符集而定的固定长度字符串
NCHAR
NCHAR
前者最大长度2kb后者最大长度4 ......
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
create procedure [dbo].[MachiningPayedGetListByCondition]
@CustomerName varchar(50),
@CustomerPhone varchar(50),
@PactNumber varchar(50),
@Ispay bit
as
begin
set nocount on;
SELECT
dp.ID as 'MachiningPayed/@ID',
&nbs ......
备份
BACKUP DATABASE mydb
TO DISK='c:\olddb.bak'
WITH INIT
--为了测试,把备份好的文件从C盘移动到D:\tempdb 文件夹
--还原
--1.用此语句得到备份文件的逻辑文件名:
RESTORE FILELISTONLY from DISK = N'd:\tempdb\olddb.bak' --备份文件存放路径
--看LogicalName,一般会有两个文件,如:
--olddb &nbs ......
多字段模糊查询sql like %% 优化与区别
http://anforen.5d6d.com/
SELECT *
from [KLims].[dbo].[Task]
where ClientCompany like '%a%' or [Address] like '%a%'
SELECT *
from [KLims].[dbo].[Task]
where ClientCompany + [Address] like '%a%'
但当其中一字段 ......