kukuqiu001 发表于 2013-2-3 14:00:42

很早的笔记,有点杂乱

1.
java的设计模式
我只是就我知道的来说
DAO(data access object),实现一个对数据库订立操作的接口,订立一个操作的标准

dao设计模式:
实现3个类和一个接口,各完成不同的功能,已完成DAO设计模式:
类1:Vo的对象必须同表的字段完全对应
类2:对数据库建立操作的接口(增删改查)(注意面向对象的设计原则:面向接口编程)
类3:对接口的实现类
类4:数据库的连接类,统一管理数据库的连接,连接和关闭数据库

mvc的设计模式:

mdelview controller,将对象,视图,控制分离,实现解耦合,将一个应用被分成三个层——模型层、视图层、控制层。
http://bp0.blogger.com/_YNd3ZHwfYj4/RzBoshIMX9I/AAAAAAAAAAU/du8UL9zCu4Y/s320/mvc.gif











2.
在简单的使用hibernate时出现的错误
<composite-id class="com.songjie.hiberante.pojo.PersonId" name="id"><key-property type="java.lang.String" name="name"><column length="20" name="name"></column><key-property type="java.lang.String" name="password"><column length="20" name="password"></column>代表它们都是主键。
xml的文件设置错误,有了太多的主键
Error Creating SessionFactory %%%%
org.hibernate.MappingException: component class not found: com.songjie.hiberante.pojo.PersonId
at org.hibernate.mapping.Component.getComponentClass(Component.java:105)
at org.hibernate.tuple.PojoComponentTuplizer.buildGetter(PojoComponentTuplizer.java:155)
at org.hibernate.tuple.AbstractComponentTuplizer.<init>(AbstractComponentTuplizer.java:40)
at org.hibernate.tuple.PojoComponentTuplizer.<init>(PojoComponentTuplizer.java:43)
at org.hibernate.tuple.TuplizerLookup.create(TuplizerLookup.java:126)
at org.hibernate.mapping.Component.getType(Component.java:160)
at org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:253)
at org.hibernate.mapping.RootClass.validate(RootClass.java:193)

错误的原因是数据库没有设置主键,hibernate要通过主键来查找。hbm.xml与数据库table中的关系

3.
sql server2005 中设置为sa登录,不是windows的用户名登录
1)用Windows身份验证登陆(这个应该是不会存在问题的, 在新安装好实例(SQL Server)的情况下, Windows身份验证是不可能被禁用的(安装过程中没有可以设置禁用Windows身份验证的地方)
Manage Studio -- 菜单"文件"--"连接对象资源管理器", 身份验证中选择"Windows Authentication"

2) 连接成功后, 右键你的实例, 选择"属性"

3) 在"属性"窗口中, 转到"Security"(安全性)项, 在"服务器身份验证"中设置为"SQL Server和Windows身份验证模式", 确定, 根据提示, 你应该重新启动sql服务

4) 重新启动sql服务后, 照用Windows身份验证连接, 然后执行下面的语句启用sa用户, 同时清除sa的密码(能成功登陆后再根据你的需要设置)

EXEC sp_password null,null,'sa'

ALTER LOGIN sa ENABLE

null null 是你重新设置的用户登录密码
5) 语句执行完成后, 再用sa连接你的实例, 应该就没有问题了.

4.
sql语言的左连接,右连接,完全连接
sql输出可能是空值是,使用外连接
--使用右连接会把空值过滤掉,right join是说从book表开始连接
--而book表中的空值null,找不到匹配是就不在输出
全连接(full join)会把左,右连接中为空的都连接起来

左连接   Left   Join   就是左邊的內容可以為空了
右连接   Rgight   Join   就是右邊的內容可以為空
完全连接   Inner   Join   就是兩邊的都可以為空

特别注意null
数据库中的空值(null) 是说这个数据根本就不存在。

5.
hibernate中什么叫做对象的实体映射中的细粒度划分?
是指在pojo类中进行的划分,使对象细化,展现更加清晰的系统逻辑,而不是对表的划分
还有针对性能的粒度划分,针对业务逻辑,这个不是很了解,没使用过

</init></init></key-property></key-property></composite-id><iostream><stdlib.h><composite-id class="com.songjie.hiberante.pojo.PersonId" name="id"><key-property type="java.lang.String" name="name"><key-property type="java.lang.String" name="password"><init><init><iostream><stdlib.h><stdlib.h><stdio.h>6.
cvs进行同步操作时一定要先进行落实和更新,然后再命名版本</stdio.h></stdlib.h></stdlib.h></iostream></init></init></key-property></key-property></composite-id></stdlib.h></iostream>
页: [1]
查看完整版本: 很早的笔记,有点杂乱