- 浏览: 150242 次
- 性别:
- 来自: 武汉
文章分类
最新评论
-
flyingcatjj:
很适合我这种刚接触的
myeclipse xfire 开发webservice实例 -
tangzlboy:
非常好,非常详细,非常中用。
linux入门 -
yzz9i:
楼主说的很是详细。
myeclipse xfire 开发webservice实例 -
zqx888191:
很再理阿!
老程序员的教诲 -
simplecat123:
...
SQLite数据读取
SQL和命名查询 SQL查询 //根据sql语句查询 static List sql(){ Session s=HibernateUtil.getSession(); Query q=s.createSQLQuery("select * from department").addEntity(Department.class); List<Department> l=q.list(); return l; } 一般情况下避免使用sql查询,因为Hibernate具有很好的数据库移植性,如果写死了sql语句的话移植的时候会出现一些问题。 也可以把hql查询条件写在映射配置文件中,然后java去读取语句来进行查询,称为本地命名查询。 本地命名查询 修改映射实体的映射文件 <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="vo.util.bean"> <class name="Department"> <id name="id"> <generator class="native"/> </id> <property name="name"/> <!-- 配置一对多的映射关系 --> <set name="ems"> <!-- 关联关系的外键 --> <key column="depaer_id"/> <!-- 关联关系的实体类配置 --> <one-to-many class="Employee" /> </set> <!-- class节点内配置命名查询条件 --> <query name="getname1"> <![CDATA[from Department where name=:name]]> </query> </class> <!-- 配置命名在class节点外查询条件 --> <query name="getname2"> <![CDATA[from Department where name=:name]]> </query> </hibernate-mapping> 查询测试 //映射文件class节点外的配置命名查询 static List namesel(String name){ Session s=HibernateUtil.getSession(); Query q=s.getNamedQuery("getname2"); q.setString("name", name); List l=q.list(); return l; } //映射文件class节点内的配置命名查询 static List namese(String name){ Session s=HibernateUtil.getSession(); Query q=s.getNamedQuery("vo.util.bean.Department.getname1"); q.setString("name", name); List l=q.list(); return l; } 分析比较 发现getNamedQuery的查询条件并不相同,在class节点内 查询的条件命名必须加上实体包名.实体名.查询命名 在这必须是完整的命名名称 在class节点外 查询的条件命名只需要实体命名即可 完整的测试 package vo.util.test; import java.util.HashSet; import java.util.List; import java.util.Set; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.Transaction; import vo.util.HibernateUtil; import vo.util.bean.Department; import vo.util.bean.Employee; public class SQLandNameTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub add(); //sql(); namesel("政企事业部"); namese("政企事业部"); } //根据sql语句查询 static List sql(){ Session s=HibernateUtil.getSession(); Query q=s.createSQLQuery("select * from department").addEntity(Department.class); List<Department> l=q.list(); return l; } //映射文件class节点外的配置命名查询 static List namesel(String name){ Session s=HibernateUtil.getSession(); Query q=s.getNamedQuery("getname2"); q.setString("name", name); List l=q.list(); return l; } //映射文件class节点内的配置命名查询 static List namese(String name){ Session s=HibernateUtil.getSession(); Query q=s.getNamedQuery("vo.util.bean.Department.getname1"); q.setString("name", name); List l=q.list(); return l; } static Department add(){ Session session = null; Transaction tx = null; try{ session =HibernateUtil.getSession(); tx = session.beginTransaction(); //…你的代码save,delete,update,get… Department dpart=new Department(); dpart.setName("政企事业部"); Employee em1=new Employee(); em1.setName("员工李小仙"); //em1.setDerpartment(dpart); Employee em2=new Employee(); em2.setName("员工张小三"); //em2.setDerpartment(dpart); Set<Employee> em=new HashSet<Employee>(); em.add(em1); em.add(em2); dpart.setEms(em); session.save(dpart); session.save(em1); session.save(em2); tx.commit(); return dpart; }finally{ if(session != null)session.close(); } } } 完毕 end!
发表评论
-
二十六 Hibernate实践
2011-07-04 19:18 740不适合OLAP以查询分析数据为主的系统。适合OLTP联机事务处 ... -
二十四 拦截器与监听器
2011-07-04 19:14 959在保存 更新等操作的前 ... -
二十三 iterate查询与N+1次查询的问题
2011-07-04 19:13 788test.java view plaincopy to ... -
二十二 Hibernate映射文件配置
2011-07-04 19:12 896id 主键生成方式 incremen ... -
二十一 串讲Hibernate配置文件中的配置项
2011-07-04 19:11 870数据源配置 ## JNDI Datasource ... -
二十 悲观锁和乐观锁
2011-07-04 19:10 745为了避免对对象同步操作时候产生的数据不一致问题,我们对对象采用 ... -
十九 hibernate3之缓存
2011-07-04 19:09 934什么是缓存?现在我们来看一个模拟的缓存操作 模拟一个缓存例子 ... -
十八 一对一对象的懒加载
2011-07-04 17:59 744一对一对象的懒加载,对于主的一方,lazy是无效的,它在访问数 ... -
十七 懒加载
2011-07-04 17:58 745十七 懒加载 什么是hibe ... -
十六 继承映射
2011-07-04 17:56 503第一种 一个员工类它有两个子类,利用hibernate我们把 ... -
十五 cascade 级联操作与inverse表是否放弃维护关联关系
2011-07-04 17:54 855cascade 级联操作字段 Casade用来说明当对主对 ... -
十四 在hibernate中使用集合总结
2011-07-04 17:52 884集合映射(set, list, array,bag, map) ... -
十三 array数组形式的映射
2011-07-04 17:51 855数组其实跟List的集合映射没有多大的差别,当然它不可以使用b ... -
十二 集合映射之Map集合
2011-07-04 17:49 817十二 Map集合映射 Map是以键值对的形式存放数据的 ... -
十一 集合映射 List集合
2011-07-04 17:47 1029十一 集合映射 set的 ... -
十 组件关联
2011-07-04 17:45 719组件关联 什么是组件关联呢?比如说一个用户,它的名称,有一 ... -
九 多对多关系 学生<--->老师的关系
2011-07-04 17:44 1247九 多对多关系 学生<--->老师的关系 多对多 ... -
八 一对一 用户与身份证的关系
2011-07-04 17:42 874八 一对一 用户与身份证的关系 设计用户实体 主实体 ... -
七 一对多关系 部门与员工的关系
2011-07-04 17:41 1141一对多 部门与员工的关系 相对于部门来说 一对多 根据先前 ... -
六 员工与部门——》多对以关系
2011-07-04 17:37 1057关联关系 多对一关系 员工与部门的关系 从员工角度 是 ...
相关推荐
SQL Server 数据库命名规范旨在提高数据库的可读性和易维护性,统一各个开发人员的数据库编码风格。为了便于与 C# 代码进行对接,制定了本规范。 数据库命名 数据库命名规则旨在提供一个一致的命名约定,以提高...
### SQL Server 命名规范详解 在数据库设计与开发过程中,遵循一套统一且合理的命名规范至关重要。良好的命名规范不仅能提升代码的可读性、可维护性,还能增强团队协作效率,减少潜在的错误和冲突。以下是针对SQL ...
对于同一个查询的命名sql,列或者表名都是动态的,如有些时候命名sql为select custID,custName from cust,有些时候是select custID from cust,这时候列名是变量。EOS中默认是不支持的,会报列错误。 解决方案...
- **优点**:命名实例允许在同一台服务器上安装多个独立的SQL Server实例,每个实例拥有自己的数据文件、配置和资源分配。 - **应用场景**:对于需要在同一台物理服务器上运行多个独立数据库环境的情况(比如...
描述中提到的“自动生成执行SQL文件的SQLCMD命名”可能是指一个工具或者方法,它简化了用户创建和执行数据库脚本的过程。通过这个工具,用户不再需要手动编写复杂的步骤指南,而是可以一键生成执行脚本,自动完成...
首先,我们要明确SQL命名规范的重要性。一个清晰、一致的命名规则能够帮助开发者快速理解查询的目的,降低理解代码的时间成本,避免因命名不规范导致的误解和错误。此外,当项目规模扩大,团队成员增加时,遵循命名...
SqlServer 命名规则是指在使用 SqlServer 数据库时,为了保持代码的一致性和可读性所设计的一系列规则。这些规则涵盖了表名、字段名称、存储过程、视图、触发器名称的定义等多个方面。 首先,在表名定义中,Sql...
Sql Server参数化查询之where in和like实现详解 在Sql Server中,参数化查询是提高查询性能和防止SQL注入攻击的有效方法之一。其中,where in和like是两个常用的查询条件,然而它们的参数化实现却不是那么简单。...
在SQLServer中编码如何有意义和规范的命名,不仅有利于别于自己进行操作,也有利于别人理解。
这些示例可能涵盖了如何设置动态SQL查询,以及如何在Kettle中使用问号占位符和命名参数的具体步骤。 总的来说,掌握Kettle中的动态SQL查询技术对于提高数据处理的灵活性和效率至关重要。问号占位符和命名参数都是...
此外,还介绍了SQL的执行过程和SQL环境的层次结构,包括客户端和服务端程序系统,以及SQL环境中对象的命名规则。 第二章为关系数据库与SQL的介绍,着重于SQL Server和Oracle数据库系统,这两款数据库系统是目前使用...
### SQL Server 设计、命名、编码规范 #### 1. 更改记录 - **更改** | **变更内容*...通过以上详细的规范和指导,可以确保 SQL Server 数据库的设计、命名和编码符合最佳实践标准,从而提高数据库系统的质量和稳定性。
在SQL Server数据库管理中,存储过程作为一种常用的数据访问机制,其命名规范对于代码的可读性和维护性至关重要。本文将详细介绍SQL Server存储过程中推荐使用的命名标准,并通过具体示例加以说明。 ### SQL Server...
SQL2000查询分析器是Microsoft SQL Server 2000版本中的一个重要工具,它为数据库管理员和开发人员提供了一个界面,用于编写、执行和测试SQL语句以及Transact-SQL脚本。这个工具在没有安装完整版SQL Server企业管理...
4.2.6 优化索引和查询 4.3 查询优化的工具 4.3.1 查询执行计划的缓存 4.3.2 清空缓存 4.3.3 动态管理对象 4.3.4 STATISTICS 4.3.5 测量查询的运行时间 4.3.6 分析执行计划 4.3.7 图形化的执行计划 ...
总的来说,虽然SQL Server允许在查询语句中使用变量表示表名,但这需要通过动态SQL来实现,并且需要注意安全性和性能问题。在处理动态表名时,理解如何正确地构建和执行动态SQL以及防范SQL注入至关重要。
SQL语句查询分析器是一种工具,它用于帮助程序员和数据库管理员优化和理解SQL查询的执行过程。在数据库管理系统中,SQL(结构化查询语言)是用于处理数据的标准语言,包括查询、更新、插入和删除记录。一个强大的SQL...
在SQL Server中,存储过程是预编译的SQL语句集合,它们提供了模块化编程的能力,使得数据库管理和数据处理更加高效、规范。掌握存储过程的命名标准至关重要,因为它有助于提高代码可读性、可维护性和团队协作效率。...
- 数据库连接和查询部分 - DataGridView填充部分 - Excel应用的创建、数据写入和保存部分 通过以上步骤,我们可以实现从Sql Server查询数据,然后在Windows Forms应用程序中展示,最后将这些数据导出到Excel文件。...