1.本文主要介绍了NH的三种查询方式 2.界面查看 3.代码架构 4.代码详情 namespace KimismeDemo { public partial class Form2 : Form { private ISession session; private ISessionFactory factory; private ITransaction trans; public Form2() { InitializeComponent(); } #region 1.初始化NH - pri…
上篇文章简单介绍NHibernate之简单增删改查,本文将会简单介绍有关执行NHibernate的SQL.HQL及存储过程: 一:执行SQL语句实例,运用CreateSQLQuery方法 public IList<SchoolModel> GetListBySql() { string strSql = "select * from T_School where studentNum>250"; ISQLQuery sqlQuery = isession.Create…
Criteria查询表达式: 正如我们所见,Expression对查询语句的表达式进行了封装和限制,下表列出了Expression所有的方法,以及每个方法所对应的查询表达式及其限制. Restrictions的用法: 方法 说明 Restrictions.eq = Restrictions.allEq 利用Map来进行多个等于的限制 Restrictions.gt > Restrictions.ge >= Restrictions.lt < Restrictions.le <= R…
NHibernate也是能够操作存储过程的,不过第一次配置可能会碰到很多错误. 一.删除 首先,我们新建一个存储过程如下: CREATE PROC DeletePerson @Id int AS DELETE FROM Person WHERE PersonId = @Id; 修改映射文件,添加删除对象的存储过程: <?xml version="1.0" encoding="utf-8" ?> <hibernate-mapping xmlns=&q…
sql注入攻击详解(二)sql注入过程详解 sql注入攻击详解(一)sql注入原理详解 我们了解了sql注入原理和sql注入过程,今天我们就来了解一下sql注入的解决办法.怎么来解决和防范sql注入,由于本人主要是搞java web开发的小程序员,所以这里我只讲一下有关于java web的防止办法.其实对于其他的,思路基本相似.下面我们先从web应用程序的角度来看一下如何避免sql注入: 1.普通用户与系统管理员用户的权限要有严格的区分.   如果一个普通用户在使用查询语句中嵌入另一个Drop …
paip.取当天记录的方法sql跟hql hibernate #------两个方法...函数法和日期计算法.. 函数法: DATEDIFF(d,createTime,GETDATE())=0   //d指定为day hb也有一样的函数.. 日期 计算法: where  createTime>='2014-5-4 00:00:01' and createTime<='2014-5-4 23:59:59' where  createTime='2014-5-4 00:00:00' 应该优先使用日…
目录(?)[-] 二SQL语句映射文件2增删改查参数缓存 select insert updatedelete sql parameters 基本类型参数 Java实体类型参数 Map参数 多参数的实现 字符串代入法 cache缓存   二.SQL语句映射文件(2)增删改查.参数.缓存 MyBatis学习 之 一.MyBatis简介与配置MyBatis+Spring+MySql MyBatis学习 之 二.SQL语句映射文件(1)resultMap MyBatis学习 之 二.SQL语句映射文件…
目录(?)[-] 二SQL语句映射文件1resultMap resultMap idresult constructor association联合 使用select实现联合 使用resultMap实现联合 collection聚集 使用select实现聚集 使用resultMap实现聚集 discriminator鉴别器   二.SQL语句映射文件(1)resultMap MyBatis学习 之 一.MyBatis简介与配置MyBatis+Spring+MySql MyBatis学习 之 二.…
二:SQL映射文件 1.SQL映射文件: (1)mapper:映射文件的根元素节点,只有一个属性namespace(命名空间) 作用:用于区分不同的mapper全局唯一 绑定dao接口即面向接口编程,当namespace绑定某一个接口之后可以不用谢该接口的实现类,namespace的命名必须和接口名相同 (2)cache:配置给定命名空间缓存. (3)cache-ref:从其他命名空间引用缓存配置 (4)resultMap:用来描述数据库的结果集和对象的对应关系. (5)sql:可以重用SQL块…
最近框架项目需要,数据层想使用Nhibernate,代替传统的sql语句的写法,更加使用面向对象的思维来维护实体与数据库的这层关系映射(ORM),好在之前接触过Java时学习使用了Hibernate,先来了解ORM.    什么是ORM? 对象-关系映射(Object/Relation Mapping,简称ORM),是随着面向对象的软件开发方法发展而产生的.面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统.对象和关系数据是业务…
S-CMS企建v3二次SQL注入 0x01 前言 继上一篇的S-CMS漏洞再来一波!首发T00ls 0x2 目录 Sql注入二次SQL注入 0x03 Sql注入 漏洞文件:\scms\bbs\bbs.php $action=$_GET["action"]; $S_id=$_GET["S_id"]; if($action=="add"){ $B_title=htmlspecialchars($_POST["B_title"]);…
调用DATASNAP+FIREDAC的远程方法有时会执行二次SQL或存储过程的BUG 1)查询会重复执行的情形:Result := DATASETPROVIDER.Data会触发它关联的DATASET执行一次查询fdquery.Close;fdquery.sql.Clear;fdquery.sql.Text := sql;// d.qryOpen.Open; // 此行代码必须被注释掉,否则SQL会被二次执行Result := DATASETPROVIDER.Data; // 此行又会触发一次f…
SQL:全称结构化查询语言(Structured Query Language),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库系统:同时也是数据库脚本文件的扩展名. HQL:HQL(Hibernate Query Language)查询相对于Criteria查询提供了更加丰富的和灵活的查询特性,因此Hibernate将HQL查询方式立为官方推荐的标准查询方式,HQL查询在涵盖Criteria查询的所有功能的前提下,提供了类似标准SQL语句的…
一.引言 在梳理这些知识之前,说实话,如果有人问我SQL是什么?我可能会回答就是“INSERT,DELETE,UPDATE,SELECT”语句呗,还能是啥. 二.SQL概念 SQL是什么? SQL是Structured Query language(结构化查询语言)的缩写,它是使用关系模型的数据库应用语言,是一门ANSI的标准计算机语言,用来操作和访问数据库系统. T-SQL和PL/SQL又是什么呢? T-SQL(Transact-SQL)是微软 SQL SERVER对SQL的扩展 PL-SQL…
一.sql新增后返回主键 1,返回自增的主键: INSERT INTO 表名 (字段名1,字段名2,字段名3,…) VALUES (值1,值2,值3,…) SELECT @@IDENTITY 2,返回主键也可以返回别的字段看需要:inserted.id这里的id可以是其他字段就是一个字段名,比如还可以返回inserted.name INSERT INTO 表名 (字段名1,…) OUTPUT inserted.id VALUES (值1,…) 二.sql 使用 FOR XML PATH实现字符串…
SQL Server游标   转载自:http://www.cnblogs.com/knowledgesea/p/3699851.html. 什么是游标 结果集,结果集就是select查询之后返回的所有行数据的集合. 游标则是处理结果集的一种机制吧,它可以定位到结果集中的某一行,多数据进行读写,也可以移动游标定位到你所需要的行中进行操作数据. 一般复杂的存储过程,都会有游标的出现,他的用处主要有: 定位到结果集中的某一行. 对当前位置的数据进行读写. 可以对结果集中的数据单独操作,而不是整行执行…
hibernate的查询1.HQL方式:所有查询都是根据java对象名来完成,对象名替换表名2.SQL方式:保留原来的sql查询风格3.可以通过设置第一条和最大条数来实现各种数据库的分页查询4.通过BaseDAO来实现dao的代码优化 实例1:hql.sql查询 Test.java package com.dao; import java.util.Date; import java.util.List; import org.hibernate.*; import org.hibernate.…
实例中解决方案简单的创建三层架构,符合开发过程中最简单的运用: 1:首先在数据库中创建一个表T_School,脚本如下: USE [TestDb] GO /****** 对象: Table [dbo].[T_School] 脚本日期: 03/01/2014 19:45:45 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[T_School]( [ID] [uniqueidentifier]…
数据操作,在这里主要介绍INSERT.UPDATE.DELETE.我们在使用NHibernate的时候,如果只是查询数据,不需要改变数据库的值,那么是不需要提交或者回滚到数据库的. 一.INSERT 通过调用ISession.Save()方法,然后同步同步到数据库. Program.cs class Program { static void Main(string[] args) { ISessionFactory sessionFactory = new Configuration().Co…
1. 在 NHibernate 中使用事务, 主要代码如下: #region 事务 public IList<Customer> GetAll() { // 开启事物 using (ITransaction tx = _session.BeginTransaction()) { try { //提交事务 tx.Commit(); return null; } catch (HibernateException ex) { // 回滚事务 tx.Rollback(); throw ex ; }…
一.CASE的两种用法 1.1 等值判断->相当于switch case (1)具体用法模板: CASE expression WHEN value1 THEN returnvalue1 WHEN value2 THEN returnvalue2 WHEN value3 THEN returnvalue3  ELSE defaultreturnvalue END (2)具体使用示例: 假设我们有一个论坛网站,其中有一张User表{ UId,Name,Level },Level是一个int类型,代…
虽然分区有很多好处(一)SQL Server分区详解Partition,却不能随意使用:且不说分区管理的繁琐,只是跨分区带来的负面影响就需要我们好好分析是否有必要使用分区.一般分区创建的业务特点:用于统计.历史数据少使用.数据自增长.可能数据冗余大.数据量庞大插入量大.在确定是否合适使用分区前,需了解分区是如何创建的,分区的创建包括: 1.新建分区函数:确定分区的方式和界点. 2.新建文件和文件组:用于存放不同分区数据 3.新建分区架构:将分区行数制定的分区映射到文件组. 4.新建分区表或者分区…
在上篇博客中我们分析了sql注入的原理,今天我们就来看一下sql注入的整体过程,也就是说如何进行sql注入,由于本人数据库和网络方面知识有限,此文章是对网上大量同类文章的分析与总结,其中有不少直接引用,参考文章太多,没有注意出处,请原作者见谅) SQL注入攻击的总体思路是: 1.发现SQL注入位置: 2.判断后台数据库类型: 3.确定XP_CMDSHELL可执行情况 4.发现WEB虚拟目录 5. 上传ASP木马: 6.得到管理员权限: 一.SQL注入漏洞的判断 一般来说,SQL注入一般存在于形如…
PS:今天偶然间发现了SQL的注入...所以就简单的脑补了一下,都是一些简单的例子...这篇写的不怎么样...由于自己没有进行很深的研究... 学习内容: 1.SQL注入的概念...   所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击.当应用程序使用输入内容来构造动态sql语句以访问数据库时,会发…
本篇文章是SQL Server代理系列的第十二篇,详细内容请参考原文 在这一系列的上一篇,我们查看了维护计划,一个维护计划可能会创建多个作业,多个计划.你还简单地看了SSIS子系统,并查看了维护计划作业步骤的属性.在最后一篇,你将学习MSX/TSX,SQL Server代理多服务器管理.MSX/TSX允许你在多个系统上运行作业,然后将作业结果和历史记录保存到一个SQL Server实例上.使用MSX/TSX多服务器管理——概念多服务器管理功能,也被称为MSX/TSX特征(即主/目标服务器)已经提…
首页,在web.config中加入以下配置: <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> </configSections> <!--log4net 配置--> <log4net debug=&q…
因为HQL是面向对象的,所以对于统计数据方面使用HQL时不合适的,其实HQL最终还是会转化成SQL语句,项目里使用HQL语句应该是为了标准规范化. 统计的数据:同一个表,同一个字段,不同属性,统计不同属性的记录数: 例如:有一个房间表格,如图所示: 现在我要做的是统计各种房间可用的数量分别是多少. 但是这个对于HQL语句是运行不同的,所以在DaoImp层,使用了查询SQL 另外:说明一下对于List无法直接调用属性的话,例如(#list.name,#list.password) 对于使用iter…
近期项目在做整改,将全部DAO层的直接拼接SQL字符串的代码,转换成使用预编译语句的方式.个人通过写dao层的单元測试,有下面几点收获. dao层代码例如以下 //使用了预编译sql public List<IndvConfigModel> selectConfigBySuffix(String suffix) { String hql = "from IndvConfigModel where configKey like '%'||?||'%'"; return thi…
学习作业2: 问题1:主键都有哪些方式?   问题2:本次实战案例建立的主键采用哪种方式?   问题3:猜猜金蝶K3WISE建立的主键采用哪种方式?   问题4:谈谈手工主键增长设置具体实现思路?(选答)   问题5:GUID主键是啥玩意?(选答)   ============================================= ============================================= 知识点: 1.创建主键的三种方法 方法一: CREATE TA…
1.基本增删改查操作 #一. 数据类型 常用的3中 # .字符串 例如:你的名字 我是中国人 在数据库中要使用 ‘’引起来 '苹果手机' # .整数类型 例如: 你的年龄 ,办公室的人数 个 ,直接使用 # .时间 当着一个字符串用 #二.几乎所有的编程标点符号都要使用 英文状态下的 #三.数据库中不区分大小写,但是 生产上的 规范 关键字大写 INSERT,其他的小写 新增 需求:添加一条数据到产品表 产品名称为苹果手机 卖价为5000 ) 删除 需求:删除产品表中id=20的数据 # = >…