nutz学习:本文来自网络,非原创
1,fetch只能在有主键的时候用,没有主键无法保证其唯一性。只能用query查询
2,@Name只是用于字符串做主键
3,@Id数值类型做主键(如果设置了这个属性则,在做插入的时候该字段不会传值。可以设置auto=false)
4,HTML <a> 标签的 rel 属性
<a> 标签的 rel 属性用于指定当前文档与被链接文档的关系。
用于 <a> 标签的可选属性 rel 和 rev 分别表示源文档与目标文档之间正式的关系和方 向。rel 属性指定从源文档到目标文档的关系,
而 rev 属性则指定从目标文档到源文档 的关系。这两种属性可以在 <a> 标签中同时使用。
5,Pager 对象有如下几个注意事项:
如果 pager 被传入了 null,则不分页
生成 Pager 对象的时候需要传入 “当前页数” 和 “页大小”
Pager 虽然有 getRecordCount() 和 getPageCount() 方法,但是它不会自动被设值 -- 因为考虑到效率
通过 Pager.setRecordCount() 可以为 Pager 设置结果集的总数,Pager 会通过
getPageCount() 返回总页数
6,@Prev与@Next有点像数据库中trigger的意思?
@Prev 使用变量例子
@Prev(@SQL("SELECT pet_name FROM t_user_pet WHERE
ownm='$ownerName'"))
private String name;
在执行 dao.inert 操作时, Nutz.Dao 会预先执行这段 SQL, 执行之前,变量 $ownerName 会被对象本身的 ownerName
字段的值替换,如果对象本身的 ownerName 字 段的值恰好是"zzh",那么执行的 SQL 会变成:
SELECT pet_name FROM m_user_pet WHERE ownm='zzh';
SQL 执行的结果会复制给对象的 name 字段。
使用参数
@Prev(@SQL("SELECT pet_name FROM t_user_pet WHERE
ownm=@ownerName"))
private String name;
在执行 dao.inert 操作时, Nutz.Dao 会预先执行这段 SQL, 执行之前,参数 @ownerName会被 '?' 替换,并根据这段
SQL 生成 PreparedStatement 对象:
然后,根据对象本身的 ownerName 字段的值,为这个 PreparedStatement 设置参数, 执行
之后,这段 SQL 执行的结果会复制给对象的 name 字段
7,Nutz.Dao 支持这些数据库:
public enum DB {
H2, DB2, PSQL, ORACLE, SQLSERVER, MYSQL, OTHER
}
8,在 POJO 对象上使用视图
通过 @View, Nutz.Dao 知道了当查询数据时候,应该从哪里获取数据
通过 @Readonly 注解 Nutz.Dao 知道,当修改或者删除数据的时候,那些字段应该忽略//?为啥?删除数据不应该删除的是记录吗?为什么
删除数据还要把一些字段给忽略
9,动态表名?
当数据量比较大的时候,为了提高数据库操作的效率,尤其是查询的效率,其中一种解决方案就是将数据表拆分。拆分的数据表,结构完全
一致,只不过是表的名字,按照某种规律 ,而成为一组。
动态表名赋值规则
当传入参数为数字或字符串
所有的动态表名变量将被其替换
当传入参数为 Map
按照动态表名变量的名称在 Map 中查找值,并进行替换
大小写敏感
未找到的变量将被空串替换
当传入参数为 任意Java对象(POJO)
按照动态表名变量名称在对象中查找对应字段的值,并进行替换
大小写敏感
未找到的变量将被空串替换
当传入参数为null
所有变量将被空串替换
10,清除
对于一对一映射来说其实清除和删除是等价的操作,对于一对多和多对多映射来说,就又区别了,因为清除只会执行一条 SQL 删除一批,而
且删除会逐个调用 dao.delete 来删除对 象
11,issue一次性插入一对多关系有啥利弊?有啥需要说要一次插入。
一对多插入顺序,首先插入主对象,以便用新的主键值更新映射对象的映射字段(插入主对象后查找主对象的最大值(为啥是最大值如果是
别的类型如何获取最大值),然后把最大
值以外键插入。
12,dao使用
dao.exec 可以直接为你提供Connection对象
dao.run
13,自定义 SQL
issue1,自字义SQL执行效率相对dao()封装方法如何?有什么风险(SQL注入等)
Sql 的逃逸字符:输入 "@@" 表示一个 '@';输入 "$$" 表示一个 '$'
14,事务的关键就是原子的界定
事务最核心的是原子的界定,在 Nutz.Dao中,界定原子的方法出奇的简单,借助匿名类,你可以随时将一段代码用你的原子实现包裹住。而
Trans.exec() 方法接受数目可变的原子 ,每个原子都是事务性的。
15,正则表达式
issue1:正则表达式的作用,是不是设置了正则表达式的字段做操作,其他的直接忽略。如果是这样再设置别的字段岂不是多此一举。
分享到:
相关推荐
标题“nutz学习资料2”表明这是一份关于Nutz框架的学习资源集合,Nutz是一个基于Java的轻量级框架,旨在提供全面的MVC支持和企业级开发工具。通过这个压缩包,我们可以期待深入理解Nutz框架的核心特性和使用方法。 ...
【标题】"Nutz学习资料4"涉及到的是对Nutz框架的深入学习和理解。Nutz是一个基于Java的轻量级、高性能的开源框架,它集合了IoC(Inversion of Control,控制反转)、AOP(Aspect Oriented Programming,面向切面编程...
NULL 博文链接:https://meng-sicheng.iteye.com/blog/1869888
它提供了全面的功能支持,且各个组件能够独立使用,无论是在Spring框架中整合Nutz.Dao,还是在Nutz.Ioc中使用Hibernate。Nutz的“整”则体现在它的所有功能都不依赖第三方jar文件,极大地简化了Web应用的依赖管理。 ...
可以通过阅读Nutz Codematic的官方文档,参与社区讨论,或者查看示例项目来学习。 总的来说,"nutz生成javabean工具.zip"中的Nutz Codematic是一个强大的辅助开发工具,能够帮助Java开发者快速生成符合规范的...
对于深入学习和理解 Nutz 的文件上传功能,查看源码是非常有帮助的。你可以通过阅读 `nutz-http` 和 `nutz-plugin-multiupload` 的源码来了解内部实现机制。 至于标签 "工具",这可能指的是 Nutz 提供的各种辅助...
在"nutz框架使用手册.zip"中,我们可以预期找到关于Nutz框架全面的学习资源,从基础概念到高级用法,帮助开发者从零开始掌握Nutz平台的开发技能。手册可能包含以下主要知识点: 1. **Nutz IOC**:Nutz IOC是Nutz...
手册是学习和掌握Nutz框架的重要参考资料,可以帮助开发者快速上手。 6. **manual** 此项可能是手册的另一个版本或者目录,具体用途可能需要根据实际内容来确定,通常与Nutz的使用和配置相关。 综合这些文件,...
"nutz-1.r.58"是一个特定版本的Nutz框架发布包,包含了该框架的各种组件和文档,便于开发者在项目中使用和学习。 在提供的文件列表中,我们有以下内容: 1. `nutz-1.r.58-javadoc.jar`:这是Nutz框架的API文档,...
Nutz的核心理念是“简单就是美”,它的API设计清晰,学习曲线平缓。要使用Nutz,首先需要在项目中引入Nutz的依赖库,然后配置Nutz的启动器,即可开始进行数据库操作、服务调用等开发工作。 以下是一个简单的Nutz ...
通过学习和实践“Nutz迷你项目”,开发者不仅可以掌握Nutz的基本用法,还能了解到如何将这些组件整合进实际项目,提升开发效率。同时,该项目的源码分析有助于加深对Java编程和Web开发的理解,对于初学者和有一定...
总的来说,Nutz应用示例项目是一个学习和实践Nutz框架的绝佳资源。它不仅展示了如何设置和配置一个基于Nutz的Web应用,还通过具体的例子解释了Nutz与MySQL数据库的整合、数据访问、MVC架构的实现以及Ajax交互等多个...
适合于对性能要求较高且希望避免复杂ORM框架的学习成本的场景。 2. **Ioc模块**:提供了一个基于JSON的配置方式,支持声明式的切片配置,使得配置更加灵活直观。相比于传统的XML配置,Nutz Ioc的配置更加简洁明了。...
标题 "nutz 缓存" 指的是Nutz框架中的缓存机制。Nutz是一个轻量级、全面且高效的Java开发框架,它提供了一系列工具和库,包括数据访问对象...通过学习和应用Nutz缓存,开发者可以更好地应对高并发和大数据量的挑战。
7. **源码分析**:作为标签中提到的“源码”,Nutz的开源特性使得开发者可以直接查看和理解其内部实现,有助于学习和定制。 8. **工具支持**:Nutz提供了命令行工具和Maven插件,帮助开发者进行项目的构建、打包和...
这个压缩包“wendal-nutz-master.zip”包含了NUTZ框架的一个示例项目或者学习资源,帮助初学者理解和掌握NUTZ的核心特性。 在深入探讨NUTZ之前,我们先来理解一下什么是框架。框架是一种预定义的软件结构,它规定了...
2. `nutz-1.r.62-sources.jar`:提供了框架的源代码,开发者可以通过查看源码理解Nutz的内部实现,便于学习和调试。这对于深入理解和自定义框架行为非常有帮助。 3. `nutz-1.r.62-manual.pdf` 和 `nutz-1.r.62-...
2. "nutz-1.r.61.r2-sources.jar"包含了Nutz框架源代码,这使得开发者可以查看和学习框架内部的工作原理,方便调试和自定义扩展。 3. "nutz-1.r.61-manual.pdf"和"nutz-1.r.61-manual.rtf"是用户手册的不同格式版本...
【标题】:“nutz初使用之MVC HelloWorld (netbeans ...同时,这也是学习MVC设计模式的良好起点,有助于理解Web应用的分层架构和组件间的协作方式。对于想要深入Java Web开发的初学者来说,这是一个不错的实践项目。